[{"data":1,"prerenderedAt":909},["ShallowReactive",2],{"/blog/gitlab-com-and-logjam":3,"navigation-en-us":124,"banner-en-us":551,"footer-en-us":561,"blog-post-authors-en-us-Marin Jankovski":806,"blog-related-posts-en-us-gitlab-com-and-logjam":821,"blog-promotions-en-us":845,"next-steps-en-us":899},{"id":4,"title":5,"authors":6,"body":8,"category":98,"date":99,"description":100,"extension":101,"externalUrl":102,"faq":102,"featured":103,"heroImage":104,"meta":105,"navigation":114,"path":115,"seo":116,"slug":120,"stem":121,"tags":102,"template":122,"updatedDate":102,"__hash__":123},"blogPosts/en-us/blog/gitlab-com-and-logjam.md","GitLab.com and Logjam",[7],"Marin Jankovski",{"type":9,"value":10,"toc":94},"minimark",[11,21,24,27,30,35,38,42,45,59,62,71,74,85,88,91],[12,13,14,15,20],"p",{},"We've previously announced ",[16,17,19],"a",{"href":18},"/blog/security-advisory-for-logjam-vulnerability/","security advisory for Logjam vulnerability",". In that announcement we've mentioned that GitLab.com is using 1024-bit DH groups to retain compatibility with older Java-based clients.",[12,22,23],{},"We've updated the default/recommended SSL ciphers for all GitLab installations and implemented new ciphers on GitLab.com.",[12,25,26],{},"After some research and testing we've decided to change the SSL cipher suite served by the web server/load balancer.",[12,28,29],{},"This decision was made after weighing on the trade-offs between having the stronger DH params and denying access to Java 6 based clients.",[31,32,34],"h4",{"id":33},"using-2048-bit-dhe-params","Using 2048-bit DHE params",[12,36,37],{},"Generating the 2048-bit DHE params was advised to help against the Logjam vulnerability. While this is a way to go for most servers, with GitLab.com we have to keep in mind that we have users using older Java-based clients.\nAdopting the stronger params suites would prevent those users using GitLab.com completely.\nAlthough the number of these users is not high, denying them access does not seem like an option.",[31,39,41],{"id":40},"removing-dhe-suites","Removing DHE suites",[12,43,44],{},"DHE suites have a couple of issues:",[46,47,48,56],"ul",{},[49,50,51],"li",{},[16,52,55],{"href":53,"rel":54},"https://community.qualys.com/blogs/securitylabs/2013/06/25/ssl-labs-deploying-forward-secrecy",[],"DHE is slow",[49,57,58],{},"Not all browsers support all the necessary suites",[12,60,61],{},"One advantage of having DHE together with ECDHE suites is that this allows forward secrecy to all clients.",[12,63,64,65,70],{},"We then turned to investigating how others are handling this issue and we found out that, for example, Google sites mostly ",[16,66,69],{"href":67,"rel":68},"https://www.ssllabs.com/ssltest/analyze.html?d=www.google.com",[],"do not have DHE suites in their configuration",".",[12,72,73],{},"With this in mind we've tried removing the DHE suites and the result was as follows:",[46,75,76,79,82],{},[49,77,78],{},"All major browsers and clients retain forward secrecy using ECDHE",[49,80,81],{},"SSL labs score went from B to A",[49,83,84],{},"There is no forward secrecy for Android 2.3.7, Java 6 and OpenSSL 0.9.8",[12,86,87],{},"After considering the trade-offs, we've decided to remove the DHE suites from our cipher suite on GitLab.com.",[12,89,90],{},"Forward secrecy is now denied for Android 2.3.7, Java 6 and OpenSSL 0.9.8 but we suspect that number of users affected will be extremely low.",[12,92,93],{},"We have also updated the recommended configurations for omnibus-gitlab packages and GitLab installation from source.",{"title":95,"searchDepth":96,"depth":96,"links":97},"",2,[],"company","2015-06-17","We've updated the default/recommended SSL ciphers for all GitLab installations and implemented new ciphers on GitLab.com. Read more!","md",null,false,"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749663397/Blog/Hero%20Images/logoforblogpost.jpg",{"excerpt":106},{"type":9,"value":107},[108,112],[12,109,14,110,20],{},[16,111,19],{"href":18},[12,113,23],{},true,"/en-us/blog/gitlab-com-and-logjam",{"title":5,"description":100,"ogTitle":5,"ogDescription":100,"noIndex":103,"ogImage":104,"ogUrl":117,"ogSiteName":118,"ogType":119,"canonicalUrls":117},"https://about.gitlab.com/blog/gitlab-com-and-logjam","https://about.gitlab.com","article","gitlab-com-and-logjam","en-us/blog/gitlab-com-and-logjam","BlogPost","CtQrL8z6eiVvExl9VfH85iq1oDYAO7XkL0xRuuy5erg",{"logo":125,"freeTrial":130,"sales":135,"login":140,"items":145,"search":471,"minimal":502,"duo":521,"switchNav":530,"pricingDeployment":541},{"config":126},{"href":127,"dataGaName":128,"dataGaLocation":129},"/","gitlab logo","header",{"text":131,"config":132},"Get free trial",{"href":133,"dataGaName":134,"dataGaLocation":129},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com&glm_content=default-saas-trial/","free trial",{"text":136,"config":137},"Request a demo",{"href":138,"dataGaName":139,"dataGaLocation":129},"/sales/?contact-topic=request-demo","sales",{"text":141,"config":142},"Sign in",{"href":143,"dataGaName":144,"dataGaLocation":129},"https://gitlab.com/users/sign_in/","sign in",[146,175,275,280,394,449],{"text":147,"config":148,"menu":150},"Platform",{"dataNavLevelOne":149},"platform",{"type":151,"columns":152},"cards",[153,159,167],{"title":147,"description":154,"link":155},"The intelligent orchestration platform for DevSecOps",{"text":156,"config":157},"Explore our Platform",{"href":158,"dataGaName":149,"dataGaLocation":129},"/platform/",{"title":160,"description":161,"link":162},"GitLab Duo Agent Platform","Agentic AI for the entire software lifecycle",{"text":163,"config":164},"Meet GitLab Duo",{"href":165,"dataGaName":166,"dataGaLocation":129},"/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":168,"description":169,"link":170},"Why GitLab","See the top reasons enterprises choose GitLab",{"text":171,"config":172},"Learn more",{"href":173,"dataGaName":174,"dataGaLocation":129},"/why-gitlab/","why gitlab",{"text":176,"left":114,"config":177,"menu":179},"Product",{"dataNavLevelOne":178},"solutions",{"type":180,"link":181,"columns":185,"feature":254},"lists",{"text":182,"config":183},"View all Solutions",{"href":184,"dataGaName":178,"dataGaLocation":129},"/solutions/",[186,210,233],{"title":187,"description":188,"link":189,"items":194},"Automation","CI/CD and automation to accelerate deployment",{"config":190},{"icon":191,"href":192,"dataGaName":193,"dataGaLocation":129},"AutomatedCodeAlt","/solutions/delivery-automation/","automated software delivery",[195,199,202,206],{"text":196,"config":197},"CI/CD",{"href":198,"dataGaLocation":129,"dataGaName":196},"/solutions/continuous-integration/",{"text":160,"config":200},{"href":165,"dataGaLocation":129,"dataGaName":201},"gitlab duo agent platform - product menu",{"text":203,"config":204},"Source Code Management",{"href":205,"dataGaLocation":129,"dataGaName":203},"/solutions/source-code-management/",{"text":207,"config":208},"Automated Software Delivery",{"href":192,"dataGaLocation":129,"dataGaName":209},"Automated software delivery",{"title":211,"description":212,"link":213,"items":218},"Security","Deliver code faster without compromising security",{"config":214},{"href":215,"dataGaName":216,"dataGaLocation":129,"icon":217},"/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[219,223,228],{"text":220,"config":221},"Application Security Testing",{"href":215,"dataGaName":222,"dataGaLocation":129},"Application security testing",{"text":224,"config":225},"Software Supply Chain Security",{"href":226,"dataGaLocation":129,"dataGaName":227},"/solutions/supply-chain/","Software supply chain security",{"text":229,"config":230},"Software Compliance",{"href":231,"dataGaName":232,"dataGaLocation":129},"/solutions/software-compliance/","software compliance",{"title":234,"link":235,"items":240},"Measurement",{"config":236},{"icon":237,"href":238,"dataGaName":239,"dataGaLocation":129},"DigitalTransformation","/solutions/visibility-measurement/","visibility and measurement",[241,245,249],{"text":242,"config":243},"Visibility & Measurement",{"href":238,"dataGaLocation":129,"dataGaName":244},"Visibility and Measurement",{"text":246,"config":247},"Value Stream Management",{"href":248,"dataGaLocation":129,"dataGaName":246},"/solutions/value-stream-management/",{"text":250,"config":251},"Analytics & Insights",{"href":252,"dataGaLocation":129,"dataGaName":253},"/solutions/analytics-and-insights/","Analytics and insights",{"title":255,"type":180,"items":256},"GitLab for",[257,263,269],{"text":258,"config":259},"Enterprise",{"icon":260,"href":261,"dataGaLocation":129,"dataGaName":262},"Building","/enterprise/","enterprise",{"text":264,"config":265},"Small Business",{"icon":266,"href":267,"dataGaLocation":129,"dataGaName":268},"Work","/small-business/","small business",{"text":270,"config":271},"Public Sector",{"icon":272,"href":273,"dataGaLocation":129,"dataGaName":274},"Organization","/solutions/public-sector/","public sector",{"text":276,"config":277},"Pricing",{"href":278,"dataGaName":279,"dataGaLocation":129,"dataNavLevelOne":279},"/pricing/","pricing",{"text":281,"config":282,"menu":284},"Resources",{"dataNavLevelOne":283},"resources",{"type":180,"link":285,"columns":289,"feature":383},{"text":286,"config":287},"View all resources",{"href":288,"dataGaName":283,"dataGaLocation":129},"/resources/",[290,323,350],{"title":291,"items":292},"Getting started",[293,298,303,308,313,318],{"text":294,"config":295},"Install",{"href":296,"dataGaName":297,"dataGaLocation":129},"/install/","install",{"text":299,"config":300},"Quick start guides",{"href":301,"dataGaName":302,"dataGaLocation":129},"/get-started/","quick setup checklists",{"text":304,"config":305},"Learn",{"href":306,"dataGaLocation":129,"dataGaName":307},"https://university.gitlab.com/","learn",{"text":309,"config":310},"Product documentation",{"href":311,"dataGaName":312,"dataGaLocation":129},"https://docs.gitlab.com/","product documentation",{"text":314,"config":315},"Best practice videos",{"href":316,"dataGaName":317,"dataGaLocation":129},"/getting-started-videos/","best practice videos",{"text":319,"config":320},"Integrations",{"href":321,"dataGaName":322,"dataGaLocation":129},"/integrations/","integrations",{"title":324,"items":325},"Discover",[326,331,336,341,345],{"text":327,"config":328},"Customer success stories",{"href":329,"dataGaName":330,"dataGaLocation":129},"/customers/","customer success stories",{"text":332,"config":333},"Blog",{"href":334,"dataGaName":335,"dataGaLocation":129},"/blog/","blog",{"text":337,"config":338},"Demo Hub",{"href":339,"dataGaName":340,"dataGaLocation":129},"/demo-hub/","demo hub",{"text":342,"config":343},"The Source",{"href":344,"dataGaName":335,"dataGaLocation":129},"/the-source/",{"text":346,"config":347},"Remote",{"href":348,"dataGaName":349,"dataGaLocation":129},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":351,"items":352},"Connect",[353,358,363,368,373,378],{"text":354,"config":355},"GitLab Services",{"href":356,"dataGaName":357,"dataGaLocation":129},"/services/","services",{"text":359,"config":360},"Contribute",{"href":361,"dataGaName":362,"dataGaLocation":129},"https://contributors.gitlab.com","contribute",{"text":364,"config":365},"Community",{"href":366,"dataGaName":367,"dataGaLocation":129},"/community/","community",{"text":369,"config":370},"Forum",{"href":371,"dataGaName":372,"dataGaLocation":129},"https://forum.gitlab.com/","forum",{"text":374,"config":375},"Events",{"href":376,"dataGaName":377,"dataGaLocation":129},"/events/","events",{"text":379,"config":380},"Partners",{"href":381,"dataGaName":382,"dataGaLocation":129},"/partners/","partners",{"config":384,"title":387,"text":388,"link":389},{"background":385,"textColor":386},"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":390,"config":391},"Read the latest",{"href":392,"dataGaName":393,"dataGaLocation":129},"/whats-new/","whats new",{"text":395,"config":396,"menu":397},"Company",{"dataNavLevelOne":98},{"type":180,"columns":398},[399],{"items":400},[401,406,412,414,419,424,429,434,439,444],{"text":402,"config":403},"About",{"href":404,"dataGaName":405,"dataGaLocation":129},"/company/","about",{"text":407,"config":408,"footerGa":411},"Jobs",{"href":409,"dataGaName":410,"dataGaLocation":129},"/jobs/","jobs",{"dataGaName":410},{"text":374,"config":413},{"href":376,"dataGaName":377,"dataGaLocation":129},{"text":415,"config":416},"Leadership",{"href":417,"dataGaName":418,"dataGaLocation":129},"/company/team/e-group/","leadership",{"text":420,"config":421},"Handbook",{"href":422,"dataGaName":423,"dataGaLocation":129},"https://handbook.gitlab.com/","handbook",{"text":425,"config":426},"Investor relations",{"href":427,"dataGaName":428,"dataGaLocation":129},"https://ir.gitlab.com/overview/default.aspx","investor relations",{"text":430,"config":431},"Trust Center",{"href":432,"dataGaName":433,"dataGaLocation":129},"/security/","trust center",{"text":435,"config":436},"AI Transparency Center",{"href":437,"dataGaName":438,"dataGaLocation":129},"/ai-transparency-center/","ai transparency center",{"text":440,"config":441},"Newsletter",{"href":442,"dataGaName":443,"dataGaLocation":129},"/company/contact/#contact-forms","newsletter",{"text":445,"config":446},"Press",{"href":447,"dataGaName":448,"dataGaLocation":129},"/press/","press",{"text":450,"config":451,"menu":452},"Contact us",{"dataNavLevelOne":98},{"type":180,"columns":453},[454],{"items":455},[456,461,466],{"text":457,"config":458},"Talk to sales",{"href":459,"dataGaName":460,"dataGaLocation":129},"/sales/","talk to sales",{"text":462,"config":463},"Support portal",{"href":464,"dataGaName":465,"dataGaLocation":129},"https://support.gitlab.com/hc/en-us","support portal",{"text":467,"config":468},"Customer portal",{"href":469,"dataGaName":470,"dataGaLocation":129},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":472,"login":473,"suggestions":480},"Close",{"text":474,"link":475},"To search repositories and projects, login to",{"text":476,"config":477},"gitlab.com",{"href":143,"dataGaName":478,"dataGaLocation":479},"search login","search",{"text":481,"default":482},"Suggestions",[483,485,489,491,495,499],{"text":160,"config":484},{"href":165,"dataGaName":160,"dataGaLocation":479},{"text":486,"config":487},"Code Suggestions (AI)",{"href":488,"dataGaName":486,"dataGaLocation":479},"/solutions/code-suggestions/",{"text":196,"config":490},{"href":198,"dataGaName":196,"dataGaLocation":479},{"text":492,"config":493},"GitLab on AWS",{"href":494,"dataGaName":492,"dataGaLocation":479},"/partners/technology-partners/aws/",{"text":496,"config":497},"GitLab on Google Cloud",{"href":498,"dataGaName":496,"dataGaLocation":479},"/partners/technology-partners/google-cloud-platform/",{"text":500,"config":501},"Why GitLab?",{"href":173,"dataGaName":500,"dataGaLocation":479},{"freeTrial":503,"mobileIcon":508,"desktopIcon":513,"secondaryButton":516},{"text":504,"config":505},"Start free trial",{"href":506,"dataGaName":134,"dataGaLocation":507},"https://gitlab.com/-/trials/new/","nav",{"altText":509,"config":510},"Gitlab Icon",{"src":511,"dataGaName":512,"dataGaLocation":507},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":509,"config":514},{"src":515,"dataGaName":512,"dataGaLocation":507},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":517,"config":518},"Get Started",{"href":519,"dataGaName":520,"dataGaLocation":507},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/get-started/","get started",{"freeTrial":522,"mobileIcon":526,"desktopIcon":528},{"text":523,"config":524},"Learn more about GitLab Duo",{"href":165,"dataGaName":525,"dataGaLocation":507},"gitlab duo",{"altText":509,"config":527},{"src":511,"dataGaName":512,"dataGaLocation":507},{"altText":509,"config":529},{"src":515,"dataGaName":512,"dataGaLocation":507},{"button":531,"mobileIcon":536,"desktopIcon":538},{"text":532,"config":533},"/switch",{"href":534,"dataGaName":535,"dataGaLocation":507},"#contact","switch",{"altText":509,"config":537},{"src":511,"dataGaName":512,"dataGaLocation":507},{"altText":509,"config":539},{"src":540,"dataGaName":512,"dataGaLocation":507},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773335277/ohhpiuoxoldryzrnhfrh.png",{"freeTrial":542,"mobileIcon":547,"desktopIcon":549},{"text":543,"config":544},"Back to pricing",{"href":278,"dataGaName":545,"dataGaLocation":507,"icon":546},"back to pricing","GoBack",{"altText":509,"config":548},{"src":511,"dataGaName":512,"dataGaLocation":507},{"altText":509,"config":550},{"src":515,"dataGaName":512,"dataGaLocation":507},{"title":552,"titleMobile":553,"button":554,"config":559},"Duo Agent Platform delivers 400% ROI, per new Forrester Consulting study.","400% ROI: Forrester TEI for GitLab Duo",{"text":171,"config":555},{"href":556,"dataGaName":557,"dataGaLocation":558},"https://about.gitlab.com/blog/gitlab-duo-agent-platform-delivers-400-percent-roi/","forrester-tei-dap-banner","global-banner",{"layout":560,"disabled":103},"release",{"data":562},{"text":563,"source":564,"edit":570,"contribute":575,"config":580,"items":585,"minimal":795},"Git is a trademark of Software Freedom Conservancy and our use of 'GitLab' is under license",{"text":565,"config":566},"View page source",{"href":567,"dataGaName":568,"dataGaLocation":569},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":571,"config":572},"Edit this page",{"href":573,"dataGaName":574,"dataGaLocation":569},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":576,"config":577},"Please contribute",{"href":578,"dataGaName":579,"dataGaLocation":569},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":581,"facebook":582,"youtube":583,"linkedin":584},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[586,633,687,731,763],{"title":276,"links":587,"subMenu":602},[588,592,597],{"text":589,"config":590},"View plans",{"href":278,"dataGaName":591,"dataGaLocation":569},"view plans",{"text":593,"config":594},"Why Premium?",{"href":595,"dataGaName":596,"dataGaLocation":569},"/pricing/premium/","why premium",{"text":598,"config":599},"Why Ultimate?",{"href":600,"dataGaName":601,"dataGaLocation":569},"/pricing/ultimate/","why ultimate",[603],{"title":604,"links":605},"Contact Us",[606,609,611,613,618,623,628],{"text":607,"config":608},"Contact sales",{"href":459,"dataGaName":139,"dataGaLocation":569},{"text":462,"config":610},{"href":464,"dataGaName":465,"dataGaLocation":569},{"text":467,"config":612},{"href":469,"dataGaName":470,"dataGaLocation":569},{"text":614,"config":615},"Status",{"href":616,"dataGaName":617,"dataGaLocation":569},"https://status.gitlab.com/","status",{"text":619,"config":620},"Terms of use",{"href":621,"dataGaName":622,"dataGaLocation":569},"/terms/","terms of use",{"text":624,"config":625},"Privacy statement",{"href":626,"dataGaName":627,"dataGaLocation":569},"/privacy/","privacy statement",{"text":629,"config":630},"Cookie preferences",{"dataGaName":631,"dataGaLocation":569,"id":632,"isOneTrustButton":114},"cookie preferences","ot-sdk-btn",{"title":176,"links":634,"subMenu":643},[635,639],{"text":636,"config":637},"DevSecOps platform",{"href":158,"dataGaName":638,"dataGaLocation":569},"devsecops platform",{"text":640,"config":641},"AI-Assisted Development",{"href":165,"dataGaName":642,"dataGaLocation":569},"ai-assisted development",[644],{"title":645,"links":646},"Topics",[647,652,657,662,667,672,677,682],{"text":648,"config":649},"CICD",{"href":650,"dataGaName":651,"dataGaLocation":569},"/topics/ci-cd/","cicd",{"text":653,"config":654},"GitOps",{"href":655,"dataGaName":656,"dataGaLocation":569},"/topics/gitops/","gitops",{"text":658,"config":659},"DevOps",{"href":660,"dataGaName":661,"dataGaLocation":569},"/topics/devops/","devops",{"text":663,"config":664},"Version Control",{"href":665,"dataGaName":666,"dataGaLocation":569},"/topics/version-control/","version control",{"text":668,"config":669},"DevSecOps",{"href":670,"dataGaName":671,"dataGaLocation":569},"/topics/devsecops/","devsecops",{"text":673,"config":674},"Cloud Native",{"href":675,"dataGaName":676,"dataGaLocation":569},"/topics/cloud-native/","cloud native",{"text":678,"config":679},"AI for Coding",{"href":680,"dataGaName":681,"dataGaLocation":569},"/topics/devops/ai-for-coding/","ai for coding",{"text":683,"config":684},"Agentic AI",{"href":685,"dataGaName":686,"dataGaLocation":569},"/topics/agentic-ai/","agentic ai",{"title":688,"links":689},"Solutions",[690,692,694,699,703,706,710,713,715,718,721,726],{"text":220,"config":691},{"href":215,"dataGaName":220,"dataGaLocation":569},{"text":209,"config":693},{"href":192,"dataGaName":193,"dataGaLocation":569},{"text":695,"config":696},"Agile development",{"href":697,"dataGaName":698,"dataGaLocation":569},"/solutions/agile-delivery/","agile delivery",{"text":700,"config":701},"SCM",{"href":205,"dataGaName":702,"dataGaLocation":569},"source code management",{"text":648,"config":704},{"href":198,"dataGaName":705,"dataGaLocation":569},"continuous integration & delivery",{"text":707,"config":708},"Value stream management",{"href":248,"dataGaName":709,"dataGaLocation":569},"value stream management",{"text":653,"config":711},{"href":712,"dataGaName":656,"dataGaLocation":569},"/solutions/gitops/",{"text":258,"config":714},{"href":261,"dataGaName":262,"dataGaLocation":569},{"text":716,"config":717},"Small business",{"href":267,"dataGaName":268,"dataGaLocation":569},{"text":719,"config":720},"Public sector",{"href":273,"dataGaName":274,"dataGaLocation":569},{"text":722,"config":723},"Education",{"href":724,"dataGaName":725,"dataGaLocation":569},"/solutions/education/","education",{"text":727,"config":728},"Financial services",{"href":729,"dataGaName":730,"dataGaLocation":569},"/solutions/finance/","financial services",{"title":281,"links":732},[733,735,737,739,742,744,747,749,751,753,755,757,759,761],{"text":294,"config":734},{"href":296,"dataGaName":297,"dataGaLocation":569},{"text":299,"config":736},{"href":301,"dataGaName":302,"dataGaLocation":569},{"text":304,"config":738},{"href":306,"dataGaName":307,"dataGaLocation":569},{"text":309,"config":740},{"href":311,"dataGaName":741,"dataGaLocation":569},"docs",{"text":332,"config":743},{"href":334,"dataGaName":335,"dataGaLocation":569},{"text":745,"config":746},"What's new",{"href":392,"dataGaName":393,"dataGaLocation":569},{"text":327,"config":748},{"href":329,"dataGaName":330,"dataGaLocation":569},{"text":346,"config":750},{"href":348,"dataGaName":349,"dataGaLocation":569},{"text":354,"config":752},{"href":356,"dataGaName":357,"dataGaLocation":569},{"text":359,"config":754},{"href":361,"dataGaName":362,"dataGaLocation":569},{"text":364,"config":756},{"href":366,"dataGaName":367,"dataGaLocation":569},{"text":369,"config":758},{"href":371,"dataGaName":372,"dataGaLocation":569},{"text":374,"config":760},{"href":376,"dataGaName":377,"dataGaLocation":569},{"text":379,"config":762},{"href":381,"dataGaName":382,"dataGaLocation":569},{"title":395,"links":764},[765,767,769,771,773,775,779,784,786,788,790],{"text":402,"config":766},{"href":404,"dataGaName":98,"dataGaLocation":569},{"text":407,"config":768},{"href":409,"dataGaName":410,"dataGaLocation":569},{"text":415,"config":770},{"href":417,"dataGaName":418,"dataGaLocation":569},{"text":420,"config":772},{"href":422,"dataGaName":423,"dataGaLocation":569},{"text":425,"config":774},{"href":427,"dataGaName":428,"dataGaLocation":569},{"text":776,"config":777},"Sustainability",{"href":778,"dataGaName":776,"dataGaLocation":569},"/sustainability/",{"text":780,"config":781},"Diversity, inclusion and belonging (DIB)",{"href":782,"dataGaName":783,"dataGaLocation":569},"/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":430,"config":785},{"href":432,"dataGaName":433,"dataGaLocation":569},{"text":440,"config":787},{"href":442,"dataGaName":443,"dataGaLocation":569},{"text":445,"config":789},{"href":447,"dataGaName":448,"dataGaLocation":569},{"text":791,"config":792},"Modern Slavery Transparency Statement",{"href":793,"dataGaName":794,"dataGaLocation":569},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":796},[797,800,803],{"text":798,"config":799},"Terms",{"href":621,"dataGaName":622,"dataGaLocation":569},{"text":801,"config":802},"Cookies",{"dataGaName":631,"dataGaLocation":569,"id":632,"isOneTrustButton":114},{"text":804,"config":805},"Privacy",{"href":626,"dataGaName":627,"dataGaLocation":569},[807],{"id":808,"title":7,"body":102,"config":809,"content":811,"description":102,"extension":815,"meta":816,"navigation":114,"path":817,"seo":818,"stem":819,"__hash__":820},"blogAuthors/en-us/blog/authors/marin-jankovski.yml",{"template":810},"BlogAuthor",{"name":7,"config":812},{"headshot":813,"ctfId":814},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749671628/Blog/Author%20Headshots/marin-headshot.jpg","Marin-Jankovski","yml",{},"/en-us/blog/authors/marin-jankovski",{},"en-us/blog/authors/marin-jankovski","xUlu3cnotMGILqHu8SuDcXi7ks2Gu9IQQ8fA82jQqJU",[822,830,837],{"title":823,"description":824,"heroImage":825,"category":98,"date":826,"authors":827,"slug":829,"externalUrl":102},"Why GitLab signed the Open Weights and American AI Leadership letter","GitLab supports customer choice, data privacy, and AI model neutrality, empowering teams to run secure, cost-effective, local solutions.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1785333264/ww4mlighwlvvzgnmbe6w.png","2026-07-29",[828],"Bill Staples","open-weight-model-letter",{"title":831,"description":832,"heroImage":833,"category":98,"date":834,"authors":835,"slug":836,"externalUrl":102},"GitLab Act 2","A letter to our customers and our investors.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1776362275/ozbwn9tk0dditpnfddlz.png","2026-05-11",[828],"gitlab-act-2",{"title":838,"description":839,"heroImage":840,"category":98,"date":841,"authors":842,"slug":844,"externalUrl":102},"GitLab named a 2026 Omdia Universe Leader","Omdia's 2026 report on AI-assisted software development ranked 19 vendors. Here is what GitLab's top scores mean for engineering teams.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1774465167/n5hlvrsrheadeccyr1oz.png","2026-04-13",[843],"Rebecca Carter","gitlab-named-a-2026-omdia-universe-leader",{"promotions":846},[847,861,873,885],{"id":848,"categories":849,"header":851,"text":852,"button":853,"image":858},"ai-modernization",[850],"ai","Is AI achieving its promise at scale?","Quiz will take 5 minutes or less",{"text":854,"config":855},"Get your AI maturity score",{"href":856,"dataGaName":857,"dataGaLocation":335},"/assessments/ai-modernization-assessment/","modernization assessment",{"config":859},{"src":860},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/qix0m7kwnd8x2fh1zq49.png",{"id":862,"categories":863,"header":865,"text":852,"button":866,"image":870},"devops-modernization",[864,671],"product","Are you just managing tools or shipping innovation?",{"text":867,"config":868},"Get your DevOps maturity score",{"href":869,"dataGaName":857,"dataGaLocation":335},"/assessments/devops-modernization-assessment/",{"config":871},{"src":872},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138785/eg818fmakweyuznttgid.png",{"id":874,"categories":875,"header":877,"text":852,"button":878,"image":882},"security-modernization",[876],"security","Are you trading speed for security?",{"text":879,"config":880},"Get your security maturity score",{"href":881,"dataGaName":857,"dataGaLocation":335},"/assessments/security-modernization-assessment/",{"config":883},{"src":884},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/p4pbqd9nnjejg5ds6mdk.png",{"id":886,"paths":887,"header":890,"text":891,"button":892,"image":897},"github-azure-migration",[888,889],"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":893,"config":894},"See how GitLab compares to GitHub",{"href":895,"dataGaName":896,"dataGaLocation":335},"/compare/gitlab-vs-github/github-azure-migration/","github azure migration",{"config":898},{"src":872},{"header":900,"blurb":901,"button":902,"secondaryButton":907},"Start building faster today","See what your team can do with the intelligent orchestration platform for DevSecOps.\n",{"text":903,"config":904},"Get your free trial",{"href":905,"dataGaName":134,"dataGaLocation":906},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/","feature",{"text":607,"config":908},{"href":459,"dataGaName":139,"dataGaLocation":906},1786803767704]