[{"data":1,"prerenderedAt":1119},["ShallowReactive",2],{"/blog/version-12-year-in-review":3,"navigation-en-us":342,"banner-en-us":767,"footer-en-us":777,"blog-post-authors-en-us-Brian Glanz":1019,"blog-related-posts-en-us-version-12-year-in-review":1033,"blog-promotions-en-us":1055,"next-steps-en-us":1109},{"id":4,"title":5,"authors":6,"body":8,"category":321,"date":322,"description":323,"extension":324,"externalUrl":325,"faq":325,"featured":326,"heroImage":327,"meta":328,"navigation":47,"path":329,"seo":330,"slug":334,"stem":335,"tags":336,"template":340,"updatedDate":325,"__hash__":341},"blogPosts/en-us/blog/version-12-year-in-review.md","GitLab Version 12 Year In Review: Releases 12.0 to 12.10",[7],"Brian Glanz",{"type":9,"value":10,"toc":313},"minimark",[11,15,24,30,33,48,60,69,76,84,93,113,118,123,142,157,171,175,180,187,202,223,227,232,235,250,265,280,284,291,299],[12,13,14],"p",{},"At GitLab, we understand that the strength of your business depends on moving fast. And what makes us strong in good times, makes us resilient in challenging times.",[12,16,17,18,23],{},"Strength and resilience come from speed, yes, but also agility, operational efficiency, security, and above all, reliability. We've released a new version on the 22nd of every month for ",[19,20,22],"a",{"href":21},"/whats-new/","now more than 100 consecutive months",".",[12,25,26,27,23],{},"As we’ve grown, those monthly releases now include dozens of significant features and improvements: 719 new features and improvements total in versions 12.0–12.10, as documented in our ",[19,28,29],{"href":21},"release blog posts",[12,31,32],{},"We’ll cover some of the highlights and trends here in this Version 12 Year in Review. Watch it in the video below, or read on for more detail and all the links.",[34,35,38,39],"figure",{"className":36},[37],"video_container","\n  ",[40,41],"iframe",{"width":42,"height":43,"src":44,"frameBorder":45,"allow":46,"allowFullScreen":47},1141,642,"https://www.youtube.com/embed/IXRuepeH3xg","0","accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture",true,[12,49,50],{},[51,52,53,54,59],"em",{},"Here is the ",[19,55,58],{"href":56,"rel":57},"https://docs.google.com/presentation/d/1ht1da_WIrkG_4Cx5C89D4C7zxV80MIExUVwCyZD10aw/edit?usp=sharing",[],"Version 12 Year in Review slide deck"," shown in the video.",[12,61,62,63,68],{},"GitLab is not just another startup. Over the past year, the awesome GitLab community ",[19,64,67],{"href":65,"rel":66},"https://gitlab.biterg.io/goto/937475d38035f496df3501c9b30af5ef",[],"made almost 200 contributions to our open source software in every monthly release",". Community contributions to versions 12.0–12.10 totaled an incredible 2,158 🙌, and contributions per month/per version have grown steadily over versions 10, 11, and 12:",[12,70,71],{},[72,73],"img",{"alt":74,"src":75},"GitLab Monthly Community Contributions per Major Version","https://res.cloudinary.com/about-gitlab-com/image/upload/v1782397895/blog/Content%20Images/GitLabCommunityContributionsMonthlyPerMajorVersion.png",[12,77,78,79,83],{},"Our company and our community are truly working together to make ",[19,80,82],{"href":81},"/topics/devops/","DevOps"," a reality for teams of all sizes.",[12,85,86,87,92],{},"Looking back, Version 12 has been about expanding our focus, first by treating developers, security, and operations alike as first-class citizens in DevOps. ",[19,88,91],{"href":89,"rel":90},"https://docs.gitlab.com/releases/",[],"We called 12.0 our DevSecOps release"," and we’ve delivered on that vision in the year since.",[12,94,95,96,101,102,107,108,112],{},"GitLab has also grown to help more types of users contribute, such as by building in ",[19,97,100],{"href":98,"rel":99},"https://docs.gitlab.com/releases/#create-and-view-requirements-in-gitlab",[],"Requirements Management"," and ",[19,103,106],{"href":104,"rel":105},"https://docs.gitlab.com/releases/#annotations-for-designs",[],"Design Management",". As you have more people collaborating in a single application, features like our new ",[19,109,111],{"href":110},"/blog/make-tracking-agreements-simple-compliance-dashboard/","Compliance Dashboard"," are more useful, in that case making compliance easier for everyone.",[114,115,117],"h2",{"id":116},"dev","Dev",[12,119,120],{},[72,121],{"alt":117,"src":122},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1782397893/blog/Content%20Images/GitLab-Dev.png",[12,124,125,126,101,131,135,136,141],{},"For developers, it’s all about delivering and shipping faster while meeting business demands. Today, we provide granular analytics on merge requests, with ",[19,127,130],{"href":128,"rel":129},"https://docs.gitlab.com/releases/#productivity-analytics",[],"Productivity Analytics",[19,132,134],{"href":133},"/blog/troubleshoot-delays-with-code-review-analytics/","Code Review Analytics",", in addition to full, downloadable ",[19,137,140],{"href":138,"rel":139},"https://docs.gitlab.com/releases/#full-code-quality-report",[],"Code Quality Reports"," for even more visibility.",[12,143,144,145,150,151,156],{},"Built-in package management now includes a ",[19,146,149],{"href":147,"rel":148},"https://docs.gitlab.com/releases/#manage-cc-packages-via-conan-within-gitlabs-package-registry",[],"GitLab Conan repository"," for C and C++ developers, and a ",[19,152,155],{"href":153,"rel":154},"https://docs.gitlab.com/releases/#build-publish-and-share-packages-to-the-gitlab-nuget-net-repository",[],"NuGet repository"," for Windows developers.",[12,158,159,160,101,165,170],{},"Automation is fundamental for DevOps teams, and with ",[19,161,164],{"href":162,"rel":163},"https://docs.gitlab.com/releases/#directed-acyclic-graphs-dag-for-gitlab-pipelines",[],"Directed Acyclic Graphs",[19,166,169],{"href":167,"rel":168},"https://docs.gitlab.com/releases/#parent-child-pipelines",[],"Parent-Child Pipelines",", complex pipelines are now faster and more flexible.",[114,172,174],{"id":173},"sec","Sec",[12,176,177],{},[72,178],{"alt":174,"src":179},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1782397894/blog/Content%20Images/GitLab-Sec.png",[12,181,182,186],{},[19,183,185],{"href":184},"/solutions/application-security-testing/","DevSecOps"," is not only about shifting left with testing or security — it’s also increasing visibility downstream or “shifting right.” Security teams need to manage and mitigate business risk. To do that, they need visibility into development and what vulnerabilities are being created or discovered.",[12,188,189,190,195,196,201],{},"You can now easily access and export a project’s ",[19,191,194],{"href":192,"rel":193},"https://docs.gitlab.com/releases/#project-dependency-list",[],"Dependency List"," or “Bill of Materials.” Our ",[19,197,200],{"href":198,"rel":199},"https://docs.gitlab.com/releases/#quickly-understand-your-at-risk-projects-with-project-security-grades",[],"scorecard on Security Dashboards"," lets you know immediately which projects are most at risk.",[12,203,204,205,210,211,216,217,222],{},"We also have more efficient ",[19,206,209],{"href":207,"rel":208},"https://docs.gitlab.com/releases/#select-and-dismiss-multiple-vulnerabilities",[],"vulnerability management"," on security dashboards and ",[19,212,215],{"href":213,"rel":214},"https://docs.gitlab.com/releases/#suggested-solution-for-container-scanning",[],"autoremediation of vulnerabilities found in Container Scanning",". Our new ",[19,218,221],{"href":219,"rel":220},"https://docs.gitlab.com/releases/#network-policies-for-container-network-security",[],"Container Network Security"," helps prevent lateral attacks.",[114,224,226],{"id":225},"ops","Ops",[12,228,229],{},[72,230],{"alt":226,"src":231},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1782397894/blog/Content%20Images/GitLab-Ops.png",[12,233,234],{},"But containers and applications don’t really run themselves. Application teams everywhere need to plan and architect for stability and efficiency.",[12,236,237,238,243,244,249],{},"Environments become hard to wrangle when you have more than just a few, and our ",[19,239,242],{"href":240,"rel":241},"https://docs.gitlab.com/releases/#environments-dashboard",[],"Environments Dashboard"," lets you see what’s going on across projects. For teams with a high volume of merges, ",[19,245,248],{"href":246,"rel":247},"https://docs.gitlab.com/releases/#parallel-execution-strategy-for-merge-trains",[],"Merge Trains"," help mitigate potential conflicts in production pipelines.",[12,251,252,253,258,259,264],{},"Managing deploy tokens is now more efficient, as we introduced both ",[19,254,257],{"href":255,"rel":256},"https://docs.gitlab.com/releases/#group-deploy-tokens",[],"group-level deploy tokens"," and an API to administer them. You can now leverage ",[19,260,263],{"href":261,"rel":262},"https://docs.gitlab.com/releases/#secure-your-applications-with-secrets-management-and-vulnerability-remediation",[],"HashiCorp Vault"," to securely manage keys, tokens, and other secrets with Vault as a GitLab CI managed app.",[12,266,267,268,273,274,279],{},"We are strong believers in automating repetitive tasks. Creating a new cluster should be simple, and our ",[19,269,272],{"href":270,"rel":271},"https://docs.gitlab.com/releases/#easily-create-and-deploy-to-an-eks-cluster",[],"EKS integration"," does just that. Finally, our new ",[19,275,278],{"href":276,"rel":277},"https://docs.gitlab.com/releases/#explore-aggregated-logs",[],"Log Explorer"," aggregates Kubernetes logs across pods and services, making them searchable and much more useful.",[114,281,283],{"id":282},"gitlab-is-for-everyone","GitLab is for Everyone",[12,285,286,287,23],{},"With Version 12, we can see GitLab is not only for developers, and it’s not even only for DevOps. Expect more progress in Version 13 and beyond, as we continue on ",[19,288,290],{"href":289},"/company/#about-us","our mission to change all creative work from read-only to read-write",[12,292,293,294,23],{},"GitLab is for everyone, and everyone can contribute. ",[19,295,298],{"href":296,"rel":297},"https://about.gitlab.com/",[],"Join us, at GitLab.com",[12,300,301,302,307,308,23],{},"Cover image by ",[19,303,306],{"href":304,"rel":305},"https://unsplash.com/@thematthoward?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText",[],"Matt Howard"," on ",[19,309,312],{"href":310,"rel":311},"https://unsplash.com/s/photos/journey?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText",[],"Unsplash",{"title":314,"searchDepth":315,"depth":315,"links":316},"",2,[317,318,319,320],{"id":116,"depth":315,"text":117},{"id":173,"depth":315,"text":174},{"id":225,"depth":315,"text":226},{"id":282,"depth":315,"text":283},"news","2020-05-21","Product highlights from a pivotal year","md",null,false,"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749680891/Blog/Hero%20Images/cloud-adoption-roadmap.jpg",{},"/en-us/blog/version-12-year-in-review",{"title":5,"description":323,"ogTitle":5,"ogDescription":323,"noIndex":326,"ogImage":327,"ogUrl":331,"ogSiteName":332,"ogType":333,"canonicalUrls":331},"https://about.gitlab.com/blog/version-12-year-in-review","https://about.gitlab.com","article","version-12-year-in-review","en-us/blog/version-12-year-in-review",[337,338,339],"features","community","inside GitLab","BlogPost","890AoMvAWRR_JkLJYaiVI_GiNEQ1yU-6mhBcRMxj6dU",{"logo":343,"freeTrial":348,"sales":353,"login":358,"items":363,"search":687,"minimal":718,"duo":737,"switchNav":746,"pricingDeployment":757},{"config":344},{"href":345,"dataGaName":346,"dataGaLocation":347},"/","gitlab logo","header",{"text":349,"config":350},"Get free trial",{"href":351,"dataGaName":352,"dataGaLocation":347},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com&glm_content=default-saas-trial/","free trial",{"text":354,"config":355},"Request a demo",{"href":356,"dataGaName":357,"dataGaLocation":347},"/sales/?contact-topic=request-demo","sales",{"text":359,"config":360},"Sign in",{"href":361,"dataGaName":362,"dataGaLocation":347},"https://gitlab.com/users/sign_in/","sign in",[364,393,492,497,609,665],{"text":365,"config":366,"menu":368},"Platform",{"dataNavLevelOne":367},"platform",{"type":369,"columns":370},"cards",[371,377,385],{"title":365,"description":372,"link":373},"The intelligent orchestration platform for DevSecOps",{"text":374,"config":375},"Explore our Platform",{"href":376,"dataGaName":367,"dataGaLocation":347},"/platform/",{"title":378,"description":379,"link":380},"GitLab Duo Agent Platform","Agentic AI for the entire software lifecycle",{"text":381,"config":382},"Meet GitLab Duo",{"href":383,"dataGaName":384,"dataGaLocation":347},"/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":386,"description":387,"link":388},"Why GitLab","See the top reasons enterprises choose GitLab",{"text":389,"config":390},"Learn more",{"href":391,"dataGaName":392,"dataGaLocation":347},"/why-gitlab/","why gitlab",{"text":394,"left":47,"config":395,"menu":397},"Product",{"dataNavLevelOne":396},"solutions",{"type":398,"link":399,"columns":403,"feature":471},"lists",{"text":400,"config":401},"View all Solutions",{"href":402,"dataGaName":396,"dataGaLocation":347},"/solutions/",[404,428,450],{"title":405,"description":406,"link":407,"items":412},"Automation","CI/CD and automation to accelerate deployment",{"config":408},{"icon":409,"href":410,"dataGaName":411,"dataGaLocation":347},"AutomatedCodeAlt","/solutions/delivery-automation/","automated software delivery",[413,417,420,424],{"text":414,"config":415},"CI/CD",{"href":416,"dataGaLocation":347,"dataGaName":414},"/solutions/continuous-integration/",{"text":378,"config":418},{"href":383,"dataGaLocation":347,"dataGaName":419},"gitlab duo agent platform - product menu",{"text":421,"config":422},"Source Code Management",{"href":423,"dataGaLocation":347,"dataGaName":421},"/solutions/source-code-management/",{"text":425,"config":426},"Automated Software Delivery",{"href":410,"dataGaLocation":347,"dataGaName":427},"Automated software delivery",{"title":429,"description":430,"link":431,"items":435},"Security","Deliver code faster without compromising security",{"config":432},{"href":184,"dataGaName":433,"dataGaLocation":347,"icon":434},"security and compliance","ShieldCheckLight",[436,440,445],{"text":437,"config":438},"Application Security Testing",{"href":184,"dataGaName":439,"dataGaLocation":347},"Application security testing",{"text":441,"config":442},"Software Supply Chain Security",{"href":443,"dataGaLocation":347,"dataGaName":444},"/solutions/supply-chain/","Software supply chain security",{"text":446,"config":447},"Software Compliance",{"href":448,"dataGaName":449,"dataGaLocation":347},"/solutions/software-compliance/","software compliance",{"title":451,"link":452,"items":457},"Measurement",{"config":453},{"icon":454,"href":455,"dataGaName":456,"dataGaLocation":347},"DigitalTransformation","/solutions/visibility-measurement/","visibility and measurement",[458,462,466],{"text":459,"config":460},"Visibility & Measurement",{"href":455,"dataGaLocation":347,"dataGaName":461},"Visibility and Measurement",{"text":463,"config":464},"Value Stream Management",{"href":465,"dataGaLocation":347,"dataGaName":463},"/solutions/value-stream-management/",{"text":467,"config":468},"Analytics & Insights",{"href":469,"dataGaLocation":347,"dataGaName":470},"/solutions/analytics-and-insights/","Analytics and insights",{"title":472,"type":398,"items":473},"GitLab for",[474,480,486],{"text":475,"config":476},"Enterprise",{"icon":477,"href":478,"dataGaLocation":347,"dataGaName":479},"Building","/enterprise/","enterprise",{"text":481,"config":482},"Small Business",{"icon":483,"href":484,"dataGaLocation":347,"dataGaName":485},"Work","/small-business/","small business",{"text":487,"config":488},"Public Sector",{"icon":489,"href":490,"dataGaLocation":347,"dataGaName":491},"Organization","/solutions/public-sector/","public sector",{"text":493,"config":494},"Pricing",{"href":495,"dataGaName":496,"dataGaLocation":347,"dataNavLevelOne":496},"/pricing/","pricing",{"text":498,"config":499,"menu":501},"Resources",{"dataNavLevelOne":500},"resources",{"type":398,"link":502,"columns":506,"feature":599},{"text":503,"config":504},"View all resources",{"href":505,"dataGaName":500,"dataGaLocation":347},"/resources/",[507,540,567],{"title":508,"items":509},"Getting started",[510,515,520,525,530,535],{"text":511,"config":512},"Install",{"href":513,"dataGaName":514,"dataGaLocation":347},"/install/","install",{"text":516,"config":517},"Quick start guides",{"href":518,"dataGaName":519,"dataGaLocation":347},"/get-started/","quick setup checklists",{"text":521,"config":522},"Learn",{"href":523,"dataGaLocation":347,"dataGaName":524},"https://university.gitlab.com/","learn",{"text":526,"config":527},"Product documentation",{"href":528,"dataGaName":529,"dataGaLocation":347},"https://docs.gitlab.com/","product documentation",{"text":531,"config":532},"Best practice videos",{"href":533,"dataGaName":534,"dataGaLocation":347},"/getting-started-videos/","best practice videos",{"text":536,"config":537},"Integrations",{"href":538,"dataGaName":539,"dataGaLocation":347},"/integrations/","integrations",{"title":541,"items":542},"Discover",[543,548,553,558,562],{"text":544,"config":545},"Customer success stories",{"href":546,"dataGaName":547,"dataGaLocation":347},"/customers/","customer success stories",{"text":549,"config":550},"Blog",{"href":551,"dataGaName":552,"dataGaLocation":347},"/blog/","blog",{"text":554,"config":555},"Demo Hub",{"href":556,"dataGaName":557,"dataGaLocation":347},"/demo-hub/","demo hub",{"text":559,"config":560},"The Source",{"href":561,"dataGaName":552,"dataGaLocation":347},"/the-source/",{"text":563,"config":564},"Remote",{"href":565,"dataGaName":566,"dataGaLocation":347},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":568,"items":569},"Connect",[570,575,580,584,589,594],{"text":571,"config":572},"GitLab Services",{"href":573,"dataGaName":574,"dataGaLocation":347},"/services/","services",{"text":576,"config":577},"Contribute",{"href":578,"dataGaName":579,"dataGaLocation":347},"https://contributors.gitlab.com","contribute",{"text":581,"config":582},"Community",{"href":583,"dataGaName":338,"dataGaLocation":347},"/community/",{"text":585,"config":586},"Forum",{"href":587,"dataGaName":588,"dataGaLocation":347},"https://forum.gitlab.com/","forum",{"text":590,"config":591},"Events",{"href":592,"dataGaName":593,"dataGaLocation":347},"/events/","events",{"text":595,"config":596},"Partners",{"href":597,"dataGaName":598,"dataGaLocation":347},"/partners/","partners",{"config":600,"title":603,"text":604,"link":605},{"background":601,"textColor":602},"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":606,"config":607},"Read the latest",{"href":21,"dataGaName":608,"dataGaLocation":347},"whats new",{"text":610,"config":611,"menu":613},"Company",{"dataNavLevelOne":612},"company",{"type":398,"columns":614},[615],{"items":616},[617,622,628,630,635,640,645,650,655,660],{"text":618,"config":619},"About",{"href":620,"dataGaName":621,"dataGaLocation":347},"/company/","about",{"text":623,"config":624,"footerGa":627},"Jobs",{"href":625,"dataGaName":626,"dataGaLocation":347},"/jobs/","jobs",{"dataGaName":626},{"text":590,"config":629},{"href":592,"dataGaName":593,"dataGaLocation":347},{"text":631,"config":632},"Leadership",{"href":633,"dataGaName":634,"dataGaLocation":347},"/company/team/e-group/","leadership",{"text":636,"config":637},"Handbook",{"href":638,"dataGaName":639,"dataGaLocation":347},"https://handbook.gitlab.com/","handbook",{"text":641,"config":642},"Investor relations",{"href":643,"dataGaName":644,"dataGaLocation":347},"https://ir.gitlab.com/overview/default.aspx","investor relations",{"text":646,"config":647},"Trust Center",{"href":648,"dataGaName":649,"dataGaLocation":347},"/security/","trust center",{"text":651,"config":652},"AI Transparency Center",{"href":653,"dataGaName":654,"dataGaLocation":347},"/ai-transparency-center/","ai transparency center",{"text":656,"config":657},"Newsletter",{"href":658,"dataGaName":659,"dataGaLocation":347},"/company/contact/#contact-forms","newsletter",{"text":661,"config":662},"Press",{"href":663,"dataGaName":664,"dataGaLocation":347},"/press/","press",{"text":666,"config":667,"menu":668},"Contact us",{"dataNavLevelOne":612},{"type":398,"columns":669},[670],{"items":671},[672,677,682],{"text":673,"config":674},"Talk to sales",{"href":675,"dataGaName":676,"dataGaLocation":347},"/sales/","talk to sales",{"text":678,"config":679},"Support portal",{"href":680,"dataGaName":681,"dataGaLocation":347},"https://support.gitlab.com/hc/en-us","support portal",{"text":683,"config":684},"Customer portal",{"href":685,"dataGaName":686,"dataGaLocation":347},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":688,"login":689,"suggestions":696},"Close",{"text":690,"link":691},"To search repositories and projects, login to",{"text":692,"config":693},"gitlab.com",{"href":361,"dataGaName":694,"dataGaLocation":695},"search login","search",{"text":697,"default":698},"Suggestions",[699,701,705,707,711,715],{"text":378,"config":700},{"href":383,"dataGaName":378,"dataGaLocation":695},{"text":702,"config":703},"Code Suggestions (AI)",{"href":704,"dataGaName":702,"dataGaLocation":695},"/solutions/code-suggestions/",{"text":414,"config":706},{"href":416,"dataGaName":414,"dataGaLocation":695},{"text":708,"config":709},"GitLab on AWS",{"href":710,"dataGaName":708,"dataGaLocation":695},"/partners/technology-partners/aws/",{"text":712,"config":713},"GitLab on Google Cloud",{"href":714,"dataGaName":712,"dataGaLocation":695},"/partners/technology-partners/google-cloud-platform/",{"text":716,"config":717},"Why GitLab?",{"href":391,"dataGaName":716,"dataGaLocation":695},{"freeTrial":719,"mobileIcon":724,"desktopIcon":729,"secondaryButton":732},{"text":720,"config":721},"Start free trial",{"href":722,"dataGaName":352,"dataGaLocation":723},"https://gitlab.com/-/trials/new/","nav",{"altText":725,"config":726},"Gitlab Icon",{"src":727,"dataGaName":728,"dataGaLocation":723},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":725,"config":730},{"src":731,"dataGaName":728,"dataGaLocation":723},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":733,"config":734},"Get Started",{"href":735,"dataGaName":736,"dataGaLocation":723},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/get-started/","get started",{"freeTrial":738,"mobileIcon":742,"desktopIcon":744},{"text":739,"config":740},"Learn more about GitLab Duo",{"href":383,"dataGaName":741,"dataGaLocation":723},"gitlab duo",{"altText":725,"config":743},{"src":727,"dataGaName":728,"dataGaLocation":723},{"altText":725,"config":745},{"src":731,"dataGaName":728,"dataGaLocation":723},{"button":747,"mobileIcon":752,"desktopIcon":754},{"text":748,"config":749},"/switch",{"href":750,"dataGaName":751,"dataGaLocation":723},"#contact","switch",{"altText":725,"config":753},{"src":727,"dataGaName":728,"dataGaLocation":723},{"altText":725,"config":755},{"src":756,"dataGaName":728,"dataGaLocation":723},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773335277/ohhpiuoxoldryzrnhfrh.png",{"freeTrial":758,"mobileIcon":763,"desktopIcon":765},{"text":759,"config":760},"Back to pricing",{"href":495,"dataGaName":761,"dataGaLocation":723,"icon":762},"back to pricing","GoBack",{"altText":725,"config":764},{"src":727,"dataGaName":728,"dataGaLocation":723},{"altText":725,"config":766},{"src":731,"dataGaName":728,"dataGaLocation":723},{"title":768,"titleMobile":769,"button":770,"config":775},"Duo Agent Platform delivers 400% ROI, per new Forrester Consulting study.","400% ROI: Forrester TEI for GitLab Duo",{"text":389,"config":771},{"href":772,"dataGaName":773,"dataGaLocation":774},"https://about.gitlab.com/blog/gitlab-duo-agent-platform-delivers-400-percent-roi/","forrester-tei-dap-banner","global-banner",{"layout":776,"disabled":326},"release",{"data":778},{"text":779,"source":780,"edit":786,"contribute":791,"config":796,"items":801,"minimal":1008},"Git is a trademark of Software Freedom Conservancy and our use of 'GitLab' is under license",{"text":781,"config":782},"View page source",{"href":783,"dataGaName":784,"dataGaLocation":785},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":787,"config":788},"Edit this page",{"href":789,"dataGaName":790,"dataGaLocation":785},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":792,"config":793},"Please contribute",{"href":794,"dataGaName":795,"dataGaLocation":785},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":797,"facebook":798,"youtube":799,"linkedin":800},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[802,849,900,944,976],{"title":493,"links":803,"subMenu":818},[804,808,813],{"text":805,"config":806},"View plans",{"href":495,"dataGaName":807,"dataGaLocation":785},"view plans",{"text":809,"config":810},"Why Premium?",{"href":811,"dataGaName":812,"dataGaLocation":785},"/pricing/premium/","why premium",{"text":814,"config":815},"Why Ultimate?",{"href":816,"dataGaName":817,"dataGaLocation":785},"/pricing/ultimate/","why ultimate",[819],{"title":820,"links":821},"Contact Us",[822,825,827,829,834,839,844],{"text":823,"config":824},"Contact sales",{"href":675,"dataGaName":357,"dataGaLocation":785},{"text":678,"config":826},{"href":680,"dataGaName":681,"dataGaLocation":785},{"text":683,"config":828},{"href":685,"dataGaName":686,"dataGaLocation":785},{"text":830,"config":831},"Status",{"href":832,"dataGaName":833,"dataGaLocation":785},"https://status.gitlab.com/","status",{"text":835,"config":836},"Terms of use",{"href":837,"dataGaName":838,"dataGaLocation":785},"/terms/","terms of use",{"text":840,"config":841},"Privacy statement",{"href":842,"dataGaName":843,"dataGaLocation":785},"/privacy/","privacy statement",{"text":845,"config":846},"Cookie preferences",{"dataGaName":847,"dataGaLocation":785,"id":848,"isOneTrustButton":47},"cookie preferences","ot-sdk-btn",{"title":394,"links":850,"subMenu":859},[851,855],{"text":852,"config":853},"DevSecOps platform",{"href":376,"dataGaName":854,"dataGaLocation":785},"devsecops platform",{"text":856,"config":857},"AI-Assisted Development",{"href":383,"dataGaName":858,"dataGaLocation":785},"ai-assisted development",[860],{"title":861,"links":862},"Topics",[863,868,873,876,881,885,890,895],{"text":864,"config":865},"CICD",{"href":866,"dataGaName":867,"dataGaLocation":785},"/topics/ci-cd/","cicd",{"text":869,"config":870},"GitOps",{"href":871,"dataGaName":872,"dataGaLocation":785},"/topics/gitops/","gitops",{"text":82,"config":874},{"href":81,"dataGaName":875,"dataGaLocation":785},"devops",{"text":877,"config":878},"Version Control",{"href":879,"dataGaName":880,"dataGaLocation":785},"/topics/version-control/","version control",{"text":185,"config":882},{"href":883,"dataGaName":884,"dataGaLocation":785},"/topics/devsecops/","devsecops",{"text":886,"config":887},"Cloud Native",{"href":888,"dataGaName":889,"dataGaLocation":785},"/topics/cloud-native/","cloud native",{"text":891,"config":892},"AI for Coding",{"href":893,"dataGaName":894,"dataGaLocation":785},"/topics/devops/ai-for-coding/","ai for coding",{"text":896,"config":897},"Agentic AI",{"href":898,"dataGaName":899,"dataGaLocation":785},"/topics/agentic-ai/","agentic ai",{"title":901,"links":902},"Solutions",[903,905,907,912,916,919,923,926,928,931,934,939],{"text":437,"config":904},{"href":184,"dataGaName":437,"dataGaLocation":785},{"text":427,"config":906},{"href":410,"dataGaName":411,"dataGaLocation":785},{"text":908,"config":909},"Agile development",{"href":910,"dataGaName":911,"dataGaLocation":785},"/solutions/agile-delivery/","agile delivery",{"text":913,"config":914},"SCM",{"href":423,"dataGaName":915,"dataGaLocation":785},"source code management",{"text":864,"config":917},{"href":416,"dataGaName":918,"dataGaLocation":785},"continuous integration & delivery",{"text":920,"config":921},"Value stream management",{"href":465,"dataGaName":922,"dataGaLocation":785},"value stream management",{"text":869,"config":924},{"href":925,"dataGaName":872,"dataGaLocation":785},"/solutions/gitops/",{"text":475,"config":927},{"href":478,"dataGaName":479,"dataGaLocation":785},{"text":929,"config":930},"Small business",{"href":484,"dataGaName":485,"dataGaLocation":785},{"text":932,"config":933},"Public sector",{"href":490,"dataGaName":491,"dataGaLocation":785},{"text":935,"config":936},"Education",{"href":937,"dataGaName":938,"dataGaLocation":785},"/solutions/education/","education",{"text":940,"config":941},"Financial services",{"href":942,"dataGaName":943,"dataGaLocation":785},"/solutions/finance/","financial services",{"title":498,"links":945},[946,948,950,952,955,957,960,962,964,966,968,970,972,974],{"text":511,"config":947},{"href":513,"dataGaName":514,"dataGaLocation":785},{"text":516,"config":949},{"href":518,"dataGaName":519,"dataGaLocation":785},{"text":521,"config":951},{"href":523,"dataGaName":524,"dataGaLocation":785},{"text":526,"config":953},{"href":528,"dataGaName":954,"dataGaLocation":785},"docs",{"text":549,"config":956},{"href":551,"dataGaName":552,"dataGaLocation":785},{"text":958,"config":959},"What's new",{"href":21,"dataGaName":608,"dataGaLocation":785},{"text":544,"config":961},{"href":546,"dataGaName":547,"dataGaLocation":785},{"text":563,"config":963},{"href":565,"dataGaName":566,"dataGaLocation":785},{"text":571,"config":965},{"href":573,"dataGaName":574,"dataGaLocation":785},{"text":576,"config":967},{"href":578,"dataGaName":579,"dataGaLocation":785},{"text":581,"config":969},{"href":583,"dataGaName":338,"dataGaLocation":785},{"text":585,"config":971},{"href":587,"dataGaName":588,"dataGaLocation":785},{"text":590,"config":973},{"href":592,"dataGaName":593,"dataGaLocation":785},{"text":595,"config":975},{"href":597,"dataGaName":598,"dataGaLocation":785},{"title":610,"links":977},[978,980,982,984,986,988,992,997,999,1001,1003],{"text":618,"config":979},{"href":620,"dataGaName":612,"dataGaLocation":785},{"text":623,"config":981},{"href":625,"dataGaName":626,"dataGaLocation":785},{"text":631,"config":983},{"href":633,"dataGaName":634,"dataGaLocation":785},{"text":636,"config":985},{"href":638,"dataGaName":639,"dataGaLocation":785},{"text":641,"config":987},{"href":643,"dataGaName":644,"dataGaLocation":785},{"text":989,"config":990},"Sustainability",{"href":991,"dataGaName":989,"dataGaLocation":785},"/sustainability/",{"text":993,"config":994},"Diversity, inclusion and belonging (DIB)",{"href":995,"dataGaName":996,"dataGaLocation":785},"/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":646,"config":998},{"href":648,"dataGaName":649,"dataGaLocation":785},{"text":656,"config":1000},{"href":658,"dataGaName":659,"dataGaLocation":785},{"text":661,"config":1002},{"href":663,"dataGaName":664,"dataGaLocation":785},{"text":1004,"config":1005},"Modern Slavery Transparency Statement",{"href":1006,"dataGaName":1007,"dataGaLocation":785},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":1009},[1010,1013,1016],{"text":1011,"config":1012},"Terms",{"href":837,"dataGaName":838,"dataGaLocation":785},{"text":1014,"config":1015},"Cookies",{"dataGaName":847,"dataGaLocation":785,"id":848,"isOneTrustButton":47},{"text":1017,"config":1018},"Privacy",{"href":842,"dataGaName":843,"dataGaLocation":785},[1020],{"id":1021,"title":7,"body":325,"config":1022,"content":1024,"description":325,"extension":1027,"meta":1028,"navigation":47,"path":1029,"seo":1030,"stem":1031,"__hash__":1032},"blogAuthors/en-us/blog/authors/brian-glanz.yml",{"template":1023},"BlogAuthor",{"name":7,"config":1025},{"headshot":314,"ctfId":1026},"brianglanz","yml",{},"/en-us/blog/authors/brian-glanz",{},"en-us/blog/authors/brian-glanz","jBJ-nyBrhWevENSiWuqPi9YYdE1PGEHIHncrFj_PVG8",[1034,1042,1049],{"title":1035,"description":1036,"heroImage":1037,"category":321,"date":1038,"authors":1039,"slug":1041,"externalUrl":325},"GitLab named a Leader in the 2026 Gartner® Magic Quadrant™ for DevSecOps Platforms","Agents made coding fast. GitLab is the Intelligent Orchestration Platform for DevSecOps that brings speed with control for the rest of the software lifecycle.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750099203/Blog/Hero%20Images/Blog/Hero%20Images/blog-image-template-1800x945%20%2820%29_2bJGC5ZP3WheoqzlLT05C5_1750099203484.png","2026-06-17",[1040],"Manav Khurana","gitlab-leader-2026-gartner-mq-devsecops-platforms",{"title":1043,"description":1044,"heroImage":1045,"category":321,"date":1038,"authors":1046,"slug":1048,"externalUrl":325},"GitLab and Capgemini accelerate DevSecOps transformation","The global alliance helps organizations modernize software delivery, secure their supply chain, and bring AI into development workflows.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1781279411/n3pkmddd2eswa8qbu06z.png",[1047],"Alex Picker","gitlab-and-capgemini-global-alliance-partnership",{"title":1050,"description":1051,"heroImage":1052,"category":321,"date":1038,"authors":1053,"slug":1054,"externalUrl":325},"Introducing the 2026 EMEA GitLab Partner Award winners","Learn about the EMEA partners who made an outstanding impact over the past year.\n","https://res.cloudinary.com/about-gitlab-com/image/upload/v1781608381/biycl2ib2kpsbspjlac7.png",[1047],"2026-emea-gitlab-partner-awards",{"promotions":1056},[1057,1071,1083,1095],{"id":1058,"categories":1059,"header":1061,"text":1062,"button":1063,"image":1068},"ai-modernization",[1060],"ai","Is AI achieving its promise at scale?","Quiz will take 5 minutes or less",{"text":1064,"config":1065},"Get your AI maturity score",{"href":1066,"dataGaName":1067,"dataGaLocation":552},"/assessments/ai-modernization-assessment/","modernization assessment",{"config":1069},{"src":1070},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/qix0m7kwnd8x2fh1zq49.png",{"id":1072,"categories":1073,"header":1075,"text":1062,"button":1076,"image":1080},"devops-modernization",[1074,884],"product","Are you just managing tools or shipping innovation?",{"text":1077,"config":1078},"Get your DevOps maturity score",{"href":1079,"dataGaName":1067,"dataGaLocation":552},"/assessments/devops-modernization-assessment/",{"config":1081},{"src":1082},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138785/eg818fmakweyuznttgid.png",{"id":1084,"categories":1085,"header":1087,"text":1062,"button":1088,"image":1092},"security-modernization",[1086],"security","Are you trading speed for security?",{"text":1089,"config":1090},"Get your security maturity score",{"href":1091,"dataGaName":1067,"dataGaLocation":552},"/assessments/security-modernization-assessment/",{"config":1093},{"src":1094},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/p4pbqd9nnjejg5ds6mdk.png",{"id":1096,"paths":1097,"header":1100,"text":1101,"button":1102,"image":1107},"github-azure-migration",[1098,1099],"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":1103,"config":1104},"See how GitLab compares to GitHub",{"href":1105,"dataGaName":1106,"dataGaLocation":552},"/compare/gitlab-vs-github/github-azure-migration/","github azure migration",{"config":1108},{"src":1082},{"header":1110,"blurb":1111,"button":1112,"secondaryButton":1117},"Start building faster today","See what your team can do with the intelligent orchestration platform for DevSecOps.\n",{"text":1113,"config":1114},"Get your free trial",{"href":1115,"dataGaName":352,"dataGaLocation":1116},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/","feature",{"text":823,"config":1118},{"href":675,"dataGaName":357,"dataGaLocation":1116},1786803776429]