[{"data":1,"prerenderedAt":907},["ShallowReactive",2],{"/blog/authors/emily-von-hoffmann":3,"navigation-en-us":21,"banner-en-us":449,"footer-en-us":460,"blog-author-posts-en-us-emily-von-hoffmann":705},{"id":4,"title":5,"body":6,"config":7,"content":9,"description":6,"extension":14,"meta":15,"navigation":16,"path":17,"seo":18,"stem":19,"__hash__":20},"blogAuthors/en-us/blog/authors/emily-von-hoffmann.yml","Emily Von Hoffmann",null,{"template":8},"BlogAuthor",{"name":10,"config":11},"Emily von Hoffmann",{"headshot":12,"ctfId":13},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749659488/Blog/Author%20Headshots/gitlab-logo-extra-whitespace.png","evhoffmann","yml",{},true,"/en-us/blog/authors/emily-von-hoffmann",{},"en-us/blog/authors/emily-von-hoffmann","zBEVnM69VnbjDNRxhqMvtqH47MYHt1wraGaN6nBYmAU",{"logo":22,"freeTrial":27,"sales":32,"login":37,"items":42,"search":369,"minimal":400,"duo":419,"switchNav":428,"pricingDeployment":439},{"config":23},{"href":24,"dataGaName":25,"dataGaLocation":26},"/","gitlab logo","header",{"text":28,"config":29},"Get free trial",{"href":30,"dataGaName":31,"dataGaLocation":26},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com&glm_content=default-saas-trial/","free trial",{"text":33,"config":34},"Request a demo",{"href":35,"dataGaName":36,"dataGaLocation":26},"/sales/?contact-topic=request-demo","sales",{"text":38,"config":39},"Sign in",{"href":40,"dataGaName":41,"dataGaLocation":26},"https://gitlab.com/users/sign_in/","sign in",[43,72,172,177,291,347],{"text":44,"config":45,"menu":47},"Platform",{"dataNavLevelOne":46},"platform",{"type":48,"columns":49},"cards",[50,56,64],{"title":44,"description":51,"link":52},"The intelligent orchestration platform for DevSecOps",{"text":53,"config":54},"Explore our Platform",{"href":55,"dataGaName":46,"dataGaLocation":26},"/platform/",{"title":57,"description":58,"link":59},"GitLab Duo Agent Platform","Agentic AI for the entire software lifecycle",{"text":60,"config":61},"Meet GitLab Duo",{"href":62,"dataGaName":63,"dataGaLocation":26},"/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":65,"description":66,"link":67},"Why GitLab","See the top reasons enterprises choose GitLab",{"text":68,"config":69},"Learn more",{"href":70,"dataGaName":71,"dataGaLocation":26},"/why-gitlab/","why gitlab",{"text":73,"left":16,"config":74,"menu":76},"Product",{"dataNavLevelOne":75},"solutions",{"type":77,"link":78,"columns":82,"feature":151},"lists",{"text":79,"config":80},"View all Solutions",{"href":81,"dataGaName":75,"dataGaLocation":26},"/solutions/",[83,107,130],{"title":84,"description":85,"link":86,"items":91},"Automation","CI/CD and automation to accelerate deployment",{"config":87},{"icon":88,"href":89,"dataGaName":90,"dataGaLocation":26},"AutomatedCodeAlt","/solutions/delivery-automation/","automated software delivery",[92,96,99,103],{"text":93,"config":94},"CI/CD",{"href":95,"dataGaLocation":26,"dataGaName":93},"/solutions/continuous-integration/",{"text":57,"config":97},{"href":62,"dataGaLocation":26,"dataGaName":98},"gitlab duo agent platform - product menu",{"text":100,"config":101},"Source Code Management",{"href":102,"dataGaLocation":26,"dataGaName":100},"/solutions/source-code-management/",{"text":104,"config":105},"Automated Software Delivery",{"href":89,"dataGaLocation":26,"dataGaName":106},"Automated software delivery",{"title":108,"description":109,"link":110,"items":115},"Security","Deliver code faster without compromising security",{"config":111},{"href":112,"dataGaName":113,"dataGaLocation":26,"icon":114},"/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[116,120,125],{"text":117,"config":118},"Application Security Testing",{"href":112,"dataGaName":119,"dataGaLocation":26},"Application security testing",{"text":121,"config":122},"Software Supply Chain Security",{"href":123,"dataGaLocation":26,"dataGaName":124},"/solutions/supply-chain/","Software supply chain security",{"text":126,"config":127},"Software Compliance",{"href":128,"dataGaName":129,"dataGaLocation":26},"/solutions/software-compliance/","software compliance",{"title":131,"link":132,"items":137},"Measurement",{"config":133},{"icon":134,"href":135,"dataGaName":136,"dataGaLocation":26},"DigitalTransformation","/solutions/visibility-measurement/","visibility and measurement",[138,142,146],{"text":139,"config":140},"Visibility & Measurement",{"href":135,"dataGaLocation":26,"dataGaName":141},"Visibility and Measurement",{"text":143,"config":144},"Value Stream Management",{"href":145,"dataGaLocation":26,"dataGaName":143},"/solutions/value-stream-management/",{"text":147,"config":148},"Analytics & Insights",{"href":149,"dataGaLocation":26,"dataGaName":150},"/solutions/analytics-and-insights/","Analytics and insights",{"title":152,"type":77,"items":153},"GitLab for",[154,160,166],{"text":155,"config":156},"Enterprise",{"icon":157,"href":158,"dataGaLocation":26,"dataGaName":159},"Building","/enterprise/","enterprise",{"text":161,"config":162},"Small Business",{"icon":163,"href":164,"dataGaLocation":26,"dataGaName":165},"Work","/small-business/","small business",{"text":167,"config":168},"Public Sector",{"icon":169,"href":170,"dataGaLocation":26,"dataGaName":171},"Organization","/solutions/public-sector/","public sector",{"text":173,"config":174},"Pricing",{"href":175,"dataGaName":176,"dataGaLocation":26,"dataNavLevelOne":176},"/pricing/","pricing",{"text":178,"config":179,"menu":181},"Resources",{"dataNavLevelOne":180},"resources",{"type":77,"link":182,"columns":186,"feature":280},{"text":183,"config":184},"View all resources",{"href":185,"dataGaName":180,"dataGaLocation":26},"/resources/",[187,220,247],{"title":188,"items":189},"Getting started",[190,195,200,205,210,215],{"text":191,"config":192},"Install",{"href":193,"dataGaName":194,"dataGaLocation":26},"/install/","install",{"text":196,"config":197},"Quick start guides",{"href":198,"dataGaName":199,"dataGaLocation":26},"/get-started/","quick setup checklists",{"text":201,"config":202},"Learn",{"href":203,"dataGaLocation":26,"dataGaName":204},"https://university.gitlab.com/","learn",{"text":206,"config":207},"Product documentation",{"href":208,"dataGaName":209,"dataGaLocation":26},"https://docs.gitlab.com/","product documentation",{"text":211,"config":212},"Best practice videos",{"href":213,"dataGaName":214,"dataGaLocation":26},"/getting-started-videos/","best practice videos",{"text":216,"config":217},"Integrations",{"href":218,"dataGaName":219,"dataGaLocation":26},"/integrations/","integrations",{"title":221,"items":222},"Discover",[223,228,233,238,242],{"text":224,"config":225},"Customer success stories",{"href":226,"dataGaName":227,"dataGaLocation":26},"/customers/","customer success stories",{"text":229,"config":230},"Blog",{"href":231,"dataGaName":232,"dataGaLocation":26},"/blog/","blog",{"text":234,"config":235},"Demo Hub",{"href":236,"dataGaName":237,"dataGaLocation":26},"/demo-hub/","demo hub",{"text":239,"config":240},"The Source",{"href":241,"dataGaName":232,"dataGaLocation":26},"/the-source/",{"text":243,"config":244},"Remote",{"href":245,"dataGaName":246,"dataGaLocation":26},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":248,"items":249},"Connect",[250,255,260,265,270,275],{"text":251,"config":252},"GitLab Services",{"href":253,"dataGaName":254,"dataGaLocation":26},"/services/","services",{"text":256,"config":257},"Contribute",{"href":258,"dataGaName":259,"dataGaLocation":26},"https://contributors.gitlab.com","contribute",{"text":261,"config":262},"Community",{"href":263,"dataGaName":264,"dataGaLocation":26},"/community/","community",{"text":266,"config":267},"Forum",{"href":268,"dataGaName":269,"dataGaLocation":26},"https://forum.gitlab.com/","forum",{"text":271,"config":272},"Events",{"href":273,"dataGaName":274,"dataGaLocation":26},"/events/","events",{"text":276,"config":277},"Partners",{"href":278,"dataGaName":279,"dataGaLocation":26},"/partners/","partners",{"config":281,"title":284,"text":285,"link":286},{"background":282,"textColor":283},"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":287,"config":288},"Read the latest",{"href":289,"dataGaName":290,"dataGaLocation":26},"/whats-new/","whats new",{"text":292,"config":293,"menu":295},"Company",{"dataNavLevelOne":294},"company",{"type":77,"columns":296},[297],{"items":298},[299,304,310,312,317,322,327,332,337,342],{"text":300,"config":301},"About",{"href":302,"dataGaName":303,"dataGaLocation":26},"/company/","about",{"text":305,"config":306,"footerGa":309},"Jobs",{"href":307,"dataGaName":308,"dataGaLocation":26},"/jobs/","jobs",{"dataGaName":308},{"text":271,"config":311},{"href":273,"dataGaName":274,"dataGaLocation":26},{"text":313,"config":314},"Leadership",{"href":315,"dataGaName":316,"dataGaLocation":26},"/company/team/e-group/","leadership",{"text":318,"config":319},"Handbook",{"href":320,"dataGaName":321,"dataGaLocation":26},"https://handbook.gitlab.com/","handbook",{"text":323,"config":324},"Investor relations",{"href":325,"dataGaName":326,"dataGaLocation":26},"https://ir.gitlab.com/overview/default.aspx","investor relations",{"text":328,"config":329},"Trust Center",{"href":330,"dataGaName":331,"dataGaLocation":26},"/security/","trust center",{"text":333,"config":334},"AI Transparency Center",{"href":335,"dataGaName":336,"dataGaLocation":26},"/ai-transparency-center/","ai transparency center",{"text":338,"config":339},"Newsletter",{"href":340,"dataGaName":341,"dataGaLocation":26},"/company/contact/#contact-forms","newsletter",{"text":343,"config":344},"Press",{"href":345,"dataGaName":346,"dataGaLocation":26},"/press/","press",{"text":348,"config":349,"menu":350},"Contact us",{"dataNavLevelOne":294},{"type":77,"columns":351},[352],{"items":353},[354,359,364],{"text":355,"config":356},"Talk to sales",{"href":357,"dataGaName":358,"dataGaLocation":26},"/sales/","talk to sales",{"text":360,"config":361},"Support portal",{"href":362,"dataGaName":363,"dataGaLocation":26},"https://support.gitlab.com/hc/en-us","support portal",{"text":365,"config":366},"Customer portal",{"href":367,"dataGaName":368,"dataGaLocation":26},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":370,"login":371,"suggestions":378},"Close",{"text":372,"link":373},"To search repositories and projects, login to",{"text":374,"config":375},"gitlab.com",{"href":40,"dataGaName":376,"dataGaLocation":377},"search login","search",{"text":379,"default":380},"Suggestions",[381,383,387,389,393,397],{"text":57,"config":382},{"href":62,"dataGaName":57,"dataGaLocation":377},{"text":384,"config":385},"Code Suggestions (AI)",{"href":386,"dataGaName":384,"dataGaLocation":377},"/solutions/code-suggestions/",{"text":93,"config":388},{"href":95,"dataGaName":93,"dataGaLocation":377},{"text":390,"config":391},"GitLab on AWS",{"href":392,"dataGaName":390,"dataGaLocation":377},"/partners/technology-partners/aws/",{"text":394,"config":395},"GitLab on Google Cloud",{"href":396,"dataGaName":394,"dataGaLocation":377},"/partners/technology-partners/google-cloud-platform/",{"text":398,"config":399},"Why GitLab?",{"href":70,"dataGaName":398,"dataGaLocation":377},{"freeTrial":401,"mobileIcon":406,"desktopIcon":411,"secondaryButton":414},{"text":402,"config":403},"Start free trial",{"href":404,"dataGaName":31,"dataGaLocation":405},"https://gitlab.com/-/trials/new/","nav",{"altText":407,"config":408},"Gitlab Icon",{"src":409,"dataGaName":410,"dataGaLocation":405},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":407,"config":412},{"src":413,"dataGaName":410,"dataGaLocation":405},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":415,"config":416},"Get Started",{"href":417,"dataGaName":418,"dataGaLocation":405},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/get-started/","get started",{"freeTrial":420,"mobileIcon":424,"desktopIcon":426},{"text":421,"config":422},"Learn more about GitLab Duo",{"href":62,"dataGaName":423,"dataGaLocation":405},"gitlab duo",{"altText":407,"config":425},{"src":409,"dataGaName":410,"dataGaLocation":405},{"altText":407,"config":427},{"src":413,"dataGaName":410,"dataGaLocation":405},{"button":429,"mobileIcon":434,"desktopIcon":436},{"text":430,"config":431},"/switch",{"href":432,"dataGaName":433,"dataGaLocation":405},"#contact","switch",{"altText":407,"config":435},{"src":409,"dataGaName":410,"dataGaLocation":405},{"altText":407,"config":437},{"src":438,"dataGaName":410,"dataGaLocation":405},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773335277/ohhpiuoxoldryzrnhfrh.png",{"freeTrial":440,"mobileIcon":445,"desktopIcon":447},{"text":441,"config":442},"Back to pricing",{"href":175,"dataGaName":443,"dataGaLocation":405,"icon":444},"back to pricing","GoBack",{"altText":407,"config":446},{"src":409,"dataGaName":410,"dataGaLocation":405},{"altText":407,"config":448},{"src":413,"dataGaName":410,"dataGaLocation":405},{"title":450,"titleMobile":451,"button":452,"config":457},"Duo Agent Platform delivers 400% ROI, per new Forrester Consulting study.","400% ROI: Forrester TEI for GitLab Duo",{"text":68,"config":453},{"href":454,"dataGaName":455,"dataGaLocation":456},"https://about.gitlab.com/blog/gitlab-duo-agent-platform-delivers-400-percent-roi/","forrester-tei-dap-banner","global-banner",{"layout":458,"disabled":459},"release",false,{"data":461},{"text":462,"source":463,"edit":469,"contribute":474,"config":479,"items":484,"minimal":694},"Git is a trademark of Software Freedom Conservancy and our use of 'GitLab' is under license",{"text":464,"config":465},"View page source",{"href":466,"dataGaName":467,"dataGaLocation":468},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":470,"config":471},"Edit this page",{"href":472,"dataGaName":473,"dataGaLocation":468},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":475,"config":476},"Please contribute",{"href":477,"dataGaName":478,"dataGaLocation":468},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":480,"facebook":481,"youtube":482,"linkedin":483},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[485,532,586,630,662],{"title":173,"links":486,"subMenu":501},[487,491,496],{"text":488,"config":489},"View plans",{"href":175,"dataGaName":490,"dataGaLocation":468},"view plans",{"text":492,"config":493},"Why Premium?",{"href":494,"dataGaName":495,"dataGaLocation":468},"/pricing/premium/","why premium",{"text":497,"config":498},"Why Ultimate?",{"href":499,"dataGaName":500,"dataGaLocation":468},"/pricing/ultimate/","why ultimate",[502],{"title":503,"links":504},"Contact Us",[505,508,510,512,517,522,527],{"text":506,"config":507},"Contact sales",{"href":357,"dataGaName":36,"dataGaLocation":468},{"text":360,"config":509},{"href":362,"dataGaName":363,"dataGaLocation":468},{"text":365,"config":511},{"href":367,"dataGaName":368,"dataGaLocation":468},{"text":513,"config":514},"Status",{"href":515,"dataGaName":516,"dataGaLocation":468},"https://status.gitlab.com/","status",{"text":518,"config":519},"Terms of use",{"href":520,"dataGaName":521,"dataGaLocation":468},"/terms/","terms of use",{"text":523,"config":524},"Privacy statement",{"href":525,"dataGaName":526,"dataGaLocation":468},"/privacy/","privacy statement",{"text":528,"config":529},"Cookie preferences",{"dataGaName":530,"dataGaLocation":468,"id":531,"isOneTrustButton":16},"cookie preferences","ot-sdk-btn",{"title":73,"links":533,"subMenu":542},[534,538],{"text":535,"config":536},"DevSecOps platform",{"href":55,"dataGaName":537,"dataGaLocation":468},"devsecops platform",{"text":539,"config":540},"AI-Assisted Development",{"href":62,"dataGaName":541,"dataGaLocation":468},"ai-assisted development",[543],{"title":544,"links":545},"Topics",[546,551,556,561,566,571,576,581],{"text":547,"config":548},"CICD",{"href":549,"dataGaName":550,"dataGaLocation":468},"/topics/ci-cd/","cicd",{"text":552,"config":553},"GitOps",{"href":554,"dataGaName":555,"dataGaLocation":468},"/topics/gitops/","gitops",{"text":557,"config":558},"DevOps",{"href":559,"dataGaName":560,"dataGaLocation":468},"/topics/devops/","devops",{"text":562,"config":563},"Version Control",{"href":564,"dataGaName":565,"dataGaLocation":468},"/topics/version-control/","version control",{"text":567,"config":568},"DevSecOps",{"href":569,"dataGaName":570,"dataGaLocation":468},"/topics/devsecops/","devsecops",{"text":572,"config":573},"Cloud Native",{"href":574,"dataGaName":575,"dataGaLocation":468},"/topics/cloud-native/","cloud native",{"text":577,"config":578},"AI for Coding",{"href":579,"dataGaName":580,"dataGaLocation":468},"/topics/devops/ai-for-coding/","ai for coding",{"text":582,"config":583},"Agentic AI",{"href":584,"dataGaName":585,"dataGaLocation":468},"/topics/agentic-ai/","agentic ai",{"title":587,"links":588},"Solutions",[589,591,593,598,602,605,609,612,614,617,620,625],{"text":117,"config":590},{"href":112,"dataGaName":117,"dataGaLocation":468},{"text":106,"config":592},{"href":89,"dataGaName":90,"dataGaLocation":468},{"text":594,"config":595},"Agile development",{"href":596,"dataGaName":597,"dataGaLocation":468},"/solutions/agile-delivery/","agile delivery",{"text":599,"config":600},"SCM",{"href":102,"dataGaName":601,"dataGaLocation":468},"source code management",{"text":547,"config":603},{"href":95,"dataGaName":604,"dataGaLocation":468},"continuous integration & delivery",{"text":606,"config":607},"Value stream management",{"href":145,"dataGaName":608,"dataGaLocation":468},"value stream management",{"text":552,"config":610},{"href":611,"dataGaName":555,"dataGaLocation":468},"/solutions/gitops/",{"text":155,"config":613},{"href":158,"dataGaName":159,"dataGaLocation":468},{"text":615,"config":616},"Small business",{"href":164,"dataGaName":165,"dataGaLocation":468},{"text":618,"config":619},"Public sector",{"href":170,"dataGaName":171,"dataGaLocation":468},{"text":621,"config":622},"Education",{"href":623,"dataGaName":624,"dataGaLocation":468},"/solutions/education/","education",{"text":626,"config":627},"Financial services",{"href":628,"dataGaName":629,"dataGaLocation":468},"/solutions/finance/","financial services",{"title":178,"links":631},[632,634,636,638,641,643,646,648,650,652,654,656,658,660],{"text":191,"config":633},{"href":193,"dataGaName":194,"dataGaLocation":468},{"text":196,"config":635},{"href":198,"dataGaName":199,"dataGaLocation":468},{"text":201,"config":637},{"href":203,"dataGaName":204,"dataGaLocation":468},{"text":206,"config":639},{"href":208,"dataGaName":640,"dataGaLocation":468},"docs",{"text":229,"config":642},{"href":231,"dataGaName":232,"dataGaLocation":468},{"text":644,"config":645},"What's new",{"href":289,"dataGaName":290,"dataGaLocation":468},{"text":224,"config":647},{"href":226,"dataGaName":227,"dataGaLocation":468},{"text":243,"config":649},{"href":245,"dataGaName":246,"dataGaLocation":468},{"text":251,"config":651},{"href":253,"dataGaName":254,"dataGaLocation":468},{"text":256,"config":653},{"href":258,"dataGaName":259,"dataGaLocation":468},{"text":261,"config":655},{"href":263,"dataGaName":264,"dataGaLocation":468},{"text":266,"config":657},{"href":268,"dataGaName":269,"dataGaLocation":468},{"text":271,"config":659},{"href":273,"dataGaName":274,"dataGaLocation":468},{"text":276,"config":661},{"href":278,"dataGaName":279,"dataGaLocation":468},{"title":292,"links":663},[664,666,668,670,672,674,678,683,685,687,689],{"text":300,"config":665},{"href":302,"dataGaName":294,"dataGaLocation":468},{"text":305,"config":667},{"href":307,"dataGaName":308,"dataGaLocation":468},{"text":313,"config":669},{"href":315,"dataGaName":316,"dataGaLocation":468},{"text":318,"config":671},{"href":320,"dataGaName":321,"dataGaLocation":468},{"text":323,"config":673},{"href":325,"dataGaName":326,"dataGaLocation":468},{"text":675,"config":676},"Sustainability",{"href":677,"dataGaName":675,"dataGaLocation":468},"/sustainability/",{"text":679,"config":680},"Diversity, inclusion and belonging (DIB)",{"href":681,"dataGaName":682,"dataGaLocation":468},"/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":328,"config":684},{"href":330,"dataGaName":331,"dataGaLocation":468},{"text":338,"config":686},{"href":340,"dataGaName":341,"dataGaLocation":468},{"text":343,"config":688},{"href":345,"dataGaName":346,"dataGaLocation":468},{"text":690,"config":691},"Modern Slavery Transparency Statement",{"href":692,"dataGaName":693,"dataGaLocation":468},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":695},[696,699,702],{"text":697,"config":698},"Terms",{"href":520,"dataGaName":521,"dataGaLocation":468},{"text":700,"config":701},"Cookies",{"dataGaName":530,"dataGaLocation":468,"id":531,"isOneTrustButton":16},{"text":703,"config":704},"Privacy",{"href":525,"dataGaName":526,"dataGaLocation":468},[706,714,721,729,737,745,753,760,767,774,781,789,796,803,810,817,824,831,838,845,852,859,866,873,880,887,893,900],{"title":707,"heroImage":708,"category":709,"description":710,"authors":711,"date":712,"slug":713,"externalUrl":6},"A tale of two file editors","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749668339/Blog/Hero%20Images/a-tale-of-two-editors.jpg","insights","How UX Research revealed unexpected patterns in how people use two GitLab file editors: the single-file editor and the Web IDE.",[10],"2020-09-01","a-tale-of-two-editors",{"title":715,"heroImage":716,"category":294,"description":717,"authors":718,"date":719,"slug":720,"externalUrl":6},"How you can help shape the future of securing applications with GitLab","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749668495/Blog/Hero%20Images/how-you-can-help-shape-the-future-of-securing-applications-at-gitlab.jpg","We want to provide the best experience in keeping your application safe after your code is in production.",[10],"2019-11-14","how-you-can-help-shape-the-future-of-securing-applications-at-gitlab",{"title":722,"heroImage":723,"category":724,"description":725,"authors":726,"date":727,"slug":728,"externalUrl":6},"5 Things we learned from you in recent UX research","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749680847/Blog/Hero%20Images/seven-things-we-learned-from-you-in-recent-ux-research.jpg","unfiltered","How you use Snippets, whether to rename Auto DevOps, how to improve our billing process, and more.",[10],"2019-10-21","five-things-we-learned-from-you-in-recent-ux-research",{"title":730,"heroImage":731,"category":732,"description":733,"authors":734,"date":735,"slug":736,"externalUrl":6},"How do you contribute?","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749679742/Blog/Hero%20Images/contribute-social-cover.png","open-source","Your contribution graph captures a moment in time like few things can, and we want to celebrate it.",[10],"2019-05-07","how-do-you-contribute",{"title":738,"heroImage":739,"category":294,"description":740,"authors":741,"date":743,"slug":744,"externalUrl":6},"2018: GitLab's year in review","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749670162/Blog/Hero%20Images/happy-holidays-cover.png","Take a look at the highlight reel from 2018 – from landing $100M in funding to welcoming a host of great open source projects to GitLab.",[10,742],"Rebecca Dodd","2019-01-10","gitlab-2018-year-in-review",{"title":746,"heroImage":747,"category":748,"description":749,"authors":750,"date":751,"slug":752,"externalUrl":6},"We restructured to allow better cross-functional collaboration — here's how it's going.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749678839/Blog/Hero%20Images/inside-look-at-new-cross-functional-teams-at-gitlab.jpg","engineering","Implementing a new structure sounds like a big change, but our Configure group is here to give you the scoop.",[10],"2018-12-13","configure-post",{"title":754,"heroImage":755,"category":294,"description":756,"authors":757,"date":758,"slug":759,"externalUrl":6},"How do we handle engineering-led issues that don't belong to one team?","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749678916/Blog/Hero%20Images/how-do-we-handle-engineering-led-initiatives.jpg","A recent issue sparked a lively discussion between engineering and product leadership about how 'cross-vertical' issues should be prioritized to avoid the bystander effect.",[10],"2018-10-30","how-do-we-handle-engineering-led-initiatives-that-dont-belong-to-one-team",{"title":761,"heroImage":762,"category":748,"description":763,"authors":764,"date":765,"slug":766,"externalUrl":6},"Why you should join the GitLab security team","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749668486/Blog/Hero%20Images/why-you-should-join-the-gitlab-security-team.jpg","Meet Director of Security Kathy Wang for a look inside our remote (and growing!) security team.",[10],"2018-08-09","why-you-should-join-the-gitlab-security-team",{"title":768,"heroImage":769,"category":709,"description":770,"authors":771,"date":772,"slug":773,"externalUrl":6},"How do developers and managers feel about their jobs?","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749663753/Blog/Hero%20Images/managers-more-optimistic-than-developers.jpg","How do you assess job satisfaction? Here's a look inside the findings and methods of our Global Developer Report.",[10],"2018-03-20","managers-more-optimistic-than-developers",{"title":775,"heroImage":776,"category":294,"description":777,"authors":778,"date":779,"slug":780,"externalUrl":6},"We're coming to you live from Crete, at the GitLab Summit!","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749680330/Blog/Hero%20Images/greece-summit-2017.png","Read on for all the events you can watch and participate in.",[10],"2017-10-17","watch-the-gitlab-summit-from-your-desk",{"title":782,"heroImage":783,"category":784,"description":785,"authors":786,"date":787,"slug":788,"externalUrl":6},"Why your code review process is broken, and how to fix it","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749679775/Blog/Hero%20Images/why-your-code-review-process-is-broken-and-how-to-fix-it.jpg","culture","What do you do when you follow your code review process, and you’re still rudely greeted by code full of bugs, or a flood of user complaints?",[10],"2017-07-25","why-your-code-review-process-is-broken-and-how-to-fix-it",{"title":790,"heroImage":791,"category":709,"description":792,"authors":793,"date":794,"slug":795,"externalUrl":6},"Why Git is worth the learning curve","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749684078/Blog/Hero%20Images/why-git-is-worth-the-learning-curve.jpg","Although the learning curve can pose a challenge, teams have a real incentive to transition to Git.",[10],"2017-05-17","learning-curve-is-the-biggest-challenge-developers-face-with-git",{"title":797,"heroImage":798,"category":784,"description":799,"authors":800,"date":801,"slug":802,"externalUrl":6},"Inside GitLab’s code review flow","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749667591/Blog/Hero%20Images/code-review-blog.jpg","We keep a quality-conscious mindset throughout the development process, sharing the responsibility among everyone instead of seeing review as an obstacle at the end.",[10],"2017-05-02","inside-gitlabs-code-review-flow",{"title":804,"heroImage":805,"category":748,"description":806,"authors":807,"date":808,"slug":809,"externalUrl":6},"Demo - Mapping work versus time, with burndown charts","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749666633/Blog/Hero%20Images/gitlab-2016-in-review-cover.png","Our Frontend Lead Jacob Schatz explains how managers and ICs can benefit from our burndown chart feature, released in GitLab 9.1.",[10],"2017-04-25","mapping-work-to-do-versus-time-with-burndown-charts",{"title":811,"heroImage":812,"category":709,"description":813,"authors":814,"date":815,"slug":816,"externalUrl":6},"How innersourcing can help your security team","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749676117/Blog/Hero%20Images/data.png","Security is a major concern during the development process — innersourcing can help.",[10],"2017-04-19","how-innersourcing-can-help-your-security-team",{"title":818,"heroImage":819,"category":784,"description":820,"authors":821,"date":822,"slug":823,"externalUrl":6},"Demo: Mastering code review with GitLab","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749670664/Blog/Hero%20Images/code.png","Code review shouldn't be a burden, it should make your team better and faster so you can keep delivering new features on time.",[10],"2017-03-17","demo-mastering-code-review-with-gitlab",{"title":825,"heroImage":826,"category":784,"description":827,"authors":828,"date":829,"slug":830,"externalUrl":6},"GitLab & Buffer CEOs talk transparency at scale","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749683999/Blog/Hero%20Images/ee-products-hero-image.jpg","The two transparency advocates recently met to talk about openness in business, what they keep confidential, and some things they've learned as their companies grow.",[10],"2017-03-14","buffer-and-gitlab-ceos-talk-transparency",{"title":832,"heroImage":833,"category":709,"description":834,"authors":835,"date":836,"slug":837,"externalUrl":6},"The secret to developer happiness? Use better tools","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749668402/Blog/Hero%20Images/code-gitlab-tanuki.png","The way developers work has changed, and they’re opting to leave behind outdated tools.",[10],"2017-02-27","developers-crave-modern-tools",{"title":839,"heroImage":840,"category":748,"description":841,"authors":842,"date":843,"slug":844,"externalUrl":6},"Designing for the modern developer","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749683970/Blog/Hero%20Images/designing-for-the-modern-developer.jpg","Recap and recording from our recent webcast featuring the GitLab user experience (UX) team",[10],"2017-01-24","designing-for-the-modern-developer-recap",{"title":846,"heroImage":847,"category":784,"description":848,"authors":849,"date":850,"slug":851,"externalUrl":6},"How to keep remote (volunteer) teams engaged","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749670694/Blog/Hero%20Images/how-to-keep-remote-teams-engaged-cover.jpg","Our Director of Strategic Partnerships chats about remote engagement challenges at a charity that encourages kids to get interested in space, finding interesting parallels with open source projects.",[10],"2016-12-21","how-to-keep-remote-teams-engaged",{"title":853,"heroImage":854,"category":748,"description":855,"authors":856,"date":857,"slug":858,"externalUrl":6},"Customer story: A creative agency's GitLab wishlist","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749670681/Blog/Hero%20Images/a-creative-agencys-gitlab-wishlist.jpg","A Lukkien developer shares his team's challenges with Git and GitLab for their UX designs, and requests a few tweaks they'd find useful.",[10],"2016-12-15","a-creative-agencys-gitlab-wishlist",{"title":860,"heroImage":861,"category":294,"description":862,"authors":863,"date":864,"slug":865,"externalUrl":6},"GitLab at DOES San Francisco 2016","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749670702/Blog/Hero%20Images/party.jpg","We're the new kids on the block in the Git space. Here are some other things about us you should know, in a segment of DevOpsTV.",[10],"2016-12-06","gitlab-at-does-2016",{"title":867,"heroImage":868,"category":732,"description":869,"authors":870,"date":871,"slug":872,"externalUrl":6},"Customer Story: Why Vaadin chose GitLab","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749670710/Blog/Hero%20Images/why-vaadin-chose-gitlab-cover.png","Vaadin needed a new solution after their multiple platforms began costing too much time and frustration.",[10],"2016-12-05","why-vaadin-chose-gitlab",{"title":874,"heroImage":875,"category":748,"description":876,"authors":877,"date":878,"slug":879,"externalUrl":6},"'GitLab is a slam dunk': One team lead weighs his options","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749663798/Blog/Hero%20Images/gitlab-is-a-slam-dunk.jpg","Developer Warren Postma shares his opinions on VCS, after years of trying out all the alternatives.",[10],"2016-11-27","gitlab-is-a-slam-dunk",{"title":881,"heroImage":882,"category":294,"description":883,"authors":884,"date":885,"slug":886,"externalUrl":6},"Customer Story: GitLab adoption growing at CERN","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749670719/Blog/Hero%20Images/cern.jpg","CERN, the European Organization for Nuclear Research, is increasingly using GitLab to host software projects and code for configuration management.",[10],"2016-11-23","gitlab-adoption-growing-at-cern",{"title":888,"heroImage":889,"category":732,"description":890,"authors":891,"date":885,"slug":892,"externalUrl":6},"How to build a strong developer community","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749670726/Blog/Hero%20Images/how-to-build-a-strong-developer-community.jpg","Our developer advocate Amanda Folson shares some community building tips with Jasmine Anteunis, co-founder of startup Recast.ai",[10],"how-to-build-a-strong-dev-community",{"title":894,"heroImage":895,"category":294,"description":896,"authors":897,"date":898,"slug":899,"externalUrl":6},"Customer Story: Data startup Cognitive Logic talks migrating to GitLab","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749670658/Blog/Hero%20Images/data-startup-cognitive-logic-talks-migrating-to-gitlab.jpg","Data analytics startup Cognitive Logic helps companies store, share, and examine consumer information without compromising security.",[10],"2016-11-22","cognitive-logic-talks-migrating-to-gitlab",{"title":901,"heroImage":902,"category":784,"description":903,"authors":904,"date":905,"slug":906,"externalUrl":6},"3 things I learned in my first month at GitLab","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749663743/Blog/Hero%20Images/three-things-i-learned-in-my-first-month-at-gitlab.jpg","Adapting to life at GitLab--marketing edition!",[10],"2016-11-02","three-things-i-learned-in-my-first-month-at-gitlab",1786803743181]