[{"data":1,"prerenderedAt":972},["ShallowReactive",2],{"/blog/semyon-pupkov-contributor-post":3,"navigation-en-us":187,"banner-en-us":614,"footer-en-us":624,"blog-post-authors-en-us-Ray Paik":869,"blog-related-posts-en-us-semyon-pupkov-contributor-post":883,"blog-promotions-en-us":908,"next-steps-en-us":962},{"id":4,"title":5,"authors":6,"body":8,"category":164,"date":165,"description":166,"extension":167,"externalUrl":168,"faq":168,"featured":169,"heroImage":170,"meta":171,"navigation":172,"path":173,"seo":174,"slug":178,"stem":179,"tags":180,"template":185,"updatedDate":168,"__hash__":186},"blogPosts/en-us/blog/semyon-pupkov-contributor-post.md","GitLab Code Contributor: Semyon Pupkov",[7],"Ray Paik",{"type":9,"value":10,"toc":151},"minimark",[11,22,29,34,43,47,55,59,62,66,75,79,82,88,92,112,116,119,122,126,134,141],[12,13,14,15,21],"p",{},"For this month's contributor post, I'm excited to introduce ",[16,17,20],"a",{"href":18,"rel":19},"https://gitlab.com/artofhuman",[],"Semyon Pupkov",", who's been a consistent contributor to GitLab since 2016. The graph below shows Semyon's merge requests (MRs) since GitLab 8.13. Let's get to know him!",[12,23,24],{},[25,26],"img",{"alt":27,"src":28},"Semyon's MRs","https://res.cloudinary.com/about-gitlab-com/image/upload/v1782399006/blog/Content%20Images/semyon-blogpost/semyon-mrs.png",[30,31,33],"h3",{"id":32},"can-you-tell-us-where-you-live-and-a-little-bit-about-your-area","Can you tell us where you live and a little bit about your area?",[12,35,36,37,42],{},"I live in a city called ",[16,38,41],{"href":39,"rel":40},"https://www.google.com/maps/place/Yekaterinburg,+Sverdlovsk+Oblast,+Russia/@56.8138122,60.5145089,11z",[],"Yekaterinburg"," in the Ural region of Russia. I love the nature here as it's not too hot in the summer and you will find good snow in the winter for snow boarding.",[30,44,46],{"id":45},"when-did-you-first-contribute-to-gitlab-and-why-did-you-decide-to-contribute","When did you first contribute to GitLab and why did you decide to contribute?",[12,48,49,54],{},[16,50,53],{"href":51,"rel":52},"https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/6762",[],"My first MR"," about two years ago was a pretty simple one as I removed unnecessary code from tests. I used GitLab Community Edition for my private projects and since I like open source software, I decided to look at the GitLab code base. When I found some areas for improvement mainly in tests, I decided to create my first MR.",[30,56,58],{"id":57},"which-areas-of-gitlab-product-have-you-been-contributing-to-over-the-past-two-years","Which areas of GitLab product have you been contributing to over the past two years?",[12,60,61],{},"Most of my contributions have been on the backend side where I tried to improve the existing code base.",[30,63,65],{"id":64},"can-you-tell-us-what-you-do-professionally","Can you tell us what you do professionally?",[12,67,68,69,74],{},"I am a backend Ruby/Python developer and work at a company called ",[16,70,73],{"href":71,"rel":72},"https://kontur.ru/eng/about",[],"SKB Kontur",".",[30,76,78],{"id":77},"what-do-you-enjoy-doing-when-youre-not-working","What do you enjoy doing when you're not working?",[12,80,81],{},"I have been a father for about six months, and I try to give as much of my free time to my daughter. I also like playing games on PlayStation 4 and my favorite game right now is FIFA 19. And of course, I like to contribute to open source projects.",[12,83,84],{},[25,85],{"alt":86,"src":87},"Semyon's family","https://res.cloudinary.com/about-gitlab-com/image/upload/v1782399006/blog/Content%20Images/semyon-blogpost/semyon-family.jpg",[30,89,91],{"id":90},"what-can-we-do-better-to-help-gitlab-community-contributors","What can we do better to help GitLab community contributors?",[12,93,94,95,100,101,106,107,74],{},"Sometimes in issues/MRs, I find links to Zendesk tickets or Slack discussions that are private, and this can be frustrating for someone not working at GitLab. Also, it would be great if GitLab had a better setup for local development with Docker and Docker Compose. I found the branch in the ",[16,96,99],{"href":97,"rel":98},"https://gitlab.com/gitlab-org/gitlab-development-kit",[],"GitLab Development Kit"," repository with ",[16,102,105],{"href":103,"rel":104},"https://gitlab.com/gitlab-org/gitlab-development-kit/tree/docker-compose",[],"support for Docker Compose",", but it probably needs some updating. I recently submitted an ",[16,108,111],{"href":109,"rel":110},"https://gitlab.com/gitlab-org/gitlab-development-kit/merge_requests/592",[],"MR to help address this",[30,113,115],{"id":114},"what-advice-do-you-have-for-others-who-may-be-interested-in-contributing-to-gitlab","What advice do you have for others who may be interested in contributing to GitLab?",[12,117,118],{},"Just don't be afraid to get started. If you find places in the code that can be improved, you should make a contribution and in most cases your code will be welcomed and accepted.",[12,120,121],{},"Contributing to GitLab also allows you to work with a strong professional team. It's a good way to improve your skills while working on a great product.",[30,123,125],{"id":124},"interested-in-learning-how-you-can-contribute","Interested in learning how you can contribute?",[12,127,128,129,133],{},"A good place to start is the ",[16,130,132],{"href":131},"/community/contribute/","Contributing to GitLab page",", where you can learn how you can contribute to GitLab code, documentation, translation, and UX design.",[12,135,136,137,74],{},"If you have any questions, you are always welcome to reach me at ",[16,138,140],{"href":139},"mailto:rpaik@gitlab.com","rpaik@gitlab.com",[12,142,143],{},[144,145,146,147,74],"em",{},"Note: This post is part of ",[16,148,150],{"href":149},"/blog/tags/contributors/","a series featuring people who contribute to GitLab",{"title":152,"searchDepth":153,"depth":153,"links":154},"",2,[155,157,158,159,160,161,162,163],{"id":32,"depth":156,"text":33},3,{"id":45,"depth":156,"text":46},{"id":57,"depth":156,"text":58},{"id":64,"depth":156,"text":65},{"id":77,"depth":156,"text":78},{"id":90,"depth":156,"text":91},{"id":114,"depth":156,"text":115},{"id":124,"depth":156,"text":125},"open-source","2019-01-30","Long-time contributor Semyon Pupkov shares why he loves contributing to GitLab.","md",null,false,"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749673096/Blog/Hero%20Images/contributors-cover.png",{},true,"/en-us/blog/semyon-pupkov-contributor-post",{"title":5,"description":166,"ogTitle":5,"ogDescription":166,"noIndex":169,"ogImage":170,"ogUrl":175,"ogSiteName":176,"ogType":177,"canonicalUrls":175},"https://about.gitlab.com/blog/semyon-pupkov-contributor-post","https://about.gitlab.com","article","semyon-pupkov-contributor-post","en-us/blog/semyon-pupkov-contributor-post",[181,182,183,184],"community","collaboration","open source","contributors","BlogPost","3UpbLd08C8gEtbvqFpXdzcHETh46SRhaxQNFGTXGZrs",{"logo":188,"freeTrial":193,"sales":198,"login":203,"items":208,"search":534,"minimal":565,"duo":584,"switchNav":593,"pricingDeployment":604},{"config":189},{"href":190,"dataGaName":191,"dataGaLocation":192},"/","gitlab logo","header",{"text":194,"config":195},"Get free trial",{"href":196,"dataGaName":197,"dataGaLocation":192},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com&glm_content=default-saas-trial/","free trial",{"text":199,"config":200},"Request a demo",{"href":201,"dataGaName":202,"dataGaLocation":192},"/sales/?contact-topic=request-demo","sales",{"text":204,"config":205},"Sign in",{"href":206,"dataGaName":207,"dataGaLocation":192},"https://gitlab.com/users/sign_in/","sign in",[209,238,338,343,456,512],{"text":210,"config":211,"menu":213},"Platform",{"dataNavLevelOne":212},"platform",{"type":214,"columns":215},"cards",[216,222,230],{"title":210,"description":217,"link":218},"The intelligent orchestration platform for DevSecOps",{"text":219,"config":220},"Explore our Platform",{"href":221,"dataGaName":212,"dataGaLocation":192},"/platform/",{"title":223,"description":224,"link":225},"GitLab Duo Agent Platform","Agentic AI for the entire software lifecycle",{"text":226,"config":227},"Meet GitLab Duo",{"href":228,"dataGaName":229,"dataGaLocation":192},"/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":231,"description":232,"link":233},"Why GitLab","See the top reasons enterprises choose GitLab",{"text":234,"config":235},"Learn more",{"href":236,"dataGaName":237,"dataGaLocation":192},"/why-gitlab/","why gitlab",{"text":239,"left":172,"config":240,"menu":242},"Product",{"dataNavLevelOne":241},"solutions",{"type":243,"link":244,"columns":248,"feature":317},"lists",{"text":245,"config":246},"View all Solutions",{"href":247,"dataGaName":241,"dataGaLocation":192},"/solutions/",[249,273,296],{"title":250,"description":251,"link":252,"items":257},"Automation","CI/CD and automation to accelerate deployment",{"config":253},{"icon":254,"href":255,"dataGaName":256,"dataGaLocation":192},"AutomatedCodeAlt","/solutions/delivery-automation/","automated software delivery",[258,262,265,269],{"text":259,"config":260},"CI/CD",{"href":261,"dataGaLocation":192,"dataGaName":259},"/solutions/continuous-integration/",{"text":223,"config":263},{"href":228,"dataGaLocation":192,"dataGaName":264},"gitlab duo agent platform - product menu",{"text":266,"config":267},"Source Code Management",{"href":268,"dataGaLocation":192,"dataGaName":266},"/solutions/source-code-management/",{"text":270,"config":271},"Automated Software Delivery",{"href":255,"dataGaLocation":192,"dataGaName":272},"Automated software delivery",{"title":274,"description":275,"link":276,"items":281},"Security","Deliver code faster without compromising security",{"config":277},{"href":278,"dataGaName":279,"dataGaLocation":192,"icon":280},"/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[282,286,291],{"text":283,"config":284},"Application Security Testing",{"href":278,"dataGaName":285,"dataGaLocation":192},"Application security testing",{"text":287,"config":288},"Software Supply Chain Security",{"href":289,"dataGaLocation":192,"dataGaName":290},"/solutions/supply-chain/","Software supply chain security",{"text":292,"config":293},"Software Compliance",{"href":294,"dataGaName":295,"dataGaLocation":192},"/solutions/software-compliance/","software compliance",{"title":297,"link":298,"items":303},"Measurement",{"config":299},{"icon":300,"href":301,"dataGaName":302,"dataGaLocation":192},"DigitalTransformation","/solutions/visibility-measurement/","visibility and measurement",[304,308,312],{"text":305,"config":306},"Visibility & Measurement",{"href":301,"dataGaLocation":192,"dataGaName":307},"Visibility and Measurement",{"text":309,"config":310},"Value Stream Management",{"href":311,"dataGaLocation":192,"dataGaName":309},"/solutions/value-stream-management/",{"text":313,"config":314},"Analytics & Insights",{"href":315,"dataGaLocation":192,"dataGaName":316},"/solutions/analytics-and-insights/","Analytics and insights",{"title":318,"type":243,"items":319},"GitLab for",[320,326,332],{"text":321,"config":322},"Enterprise",{"icon":323,"href":324,"dataGaLocation":192,"dataGaName":325},"Building","/enterprise/","enterprise",{"text":327,"config":328},"Small Business",{"icon":329,"href":330,"dataGaLocation":192,"dataGaName":331},"Work","/small-business/","small business",{"text":333,"config":334},"Public Sector",{"icon":335,"href":336,"dataGaLocation":192,"dataGaName":337},"Organization","/solutions/public-sector/","public sector",{"text":339,"config":340},"Pricing",{"href":341,"dataGaName":342,"dataGaLocation":192,"dataNavLevelOne":342},"/pricing/","pricing",{"text":344,"config":345,"menu":347},"Resources",{"dataNavLevelOne":346},"resources",{"type":243,"link":348,"columns":352,"feature":445},{"text":349,"config":350},"View all resources",{"href":351,"dataGaName":346,"dataGaLocation":192},"/resources/",[353,386,413],{"title":354,"items":355},"Getting started",[356,361,366,371,376,381],{"text":357,"config":358},"Install",{"href":359,"dataGaName":360,"dataGaLocation":192},"/install/","install",{"text":362,"config":363},"Quick start guides",{"href":364,"dataGaName":365,"dataGaLocation":192},"/get-started/","quick setup checklists",{"text":367,"config":368},"Learn",{"href":369,"dataGaLocation":192,"dataGaName":370},"https://university.gitlab.com/","learn",{"text":372,"config":373},"Product documentation",{"href":374,"dataGaName":375,"dataGaLocation":192},"https://docs.gitlab.com/","product documentation",{"text":377,"config":378},"Best practice videos",{"href":379,"dataGaName":380,"dataGaLocation":192},"/getting-started-videos/","best practice videos",{"text":382,"config":383},"Integrations",{"href":384,"dataGaName":385,"dataGaLocation":192},"/integrations/","integrations",{"title":387,"items":388},"Discover",[389,394,399,404,408],{"text":390,"config":391},"Customer success stories",{"href":392,"dataGaName":393,"dataGaLocation":192},"/customers/","customer success stories",{"text":395,"config":396},"Blog",{"href":397,"dataGaName":398,"dataGaLocation":192},"/blog/","blog",{"text":400,"config":401},"Demo Hub",{"href":402,"dataGaName":403,"dataGaLocation":192},"/demo-hub/","demo hub",{"text":405,"config":406},"The Source",{"href":407,"dataGaName":398,"dataGaLocation":192},"/the-source/",{"text":409,"config":410},"Remote",{"href":411,"dataGaName":412,"dataGaLocation":192},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":414,"items":415},"Connect",[416,421,426,430,435,440],{"text":417,"config":418},"GitLab Services",{"href":419,"dataGaName":420,"dataGaLocation":192},"/services/","services",{"text":422,"config":423},"Contribute",{"href":424,"dataGaName":425,"dataGaLocation":192},"https://contributors.gitlab.com","contribute",{"text":427,"config":428},"Community",{"href":429,"dataGaName":181,"dataGaLocation":192},"/community/",{"text":431,"config":432},"Forum",{"href":433,"dataGaName":434,"dataGaLocation":192},"https://forum.gitlab.com/","forum",{"text":436,"config":437},"Events",{"href":438,"dataGaName":439,"dataGaLocation":192},"/events/","events",{"text":441,"config":442},"Partners",{"href":443,"dataGaName":444,"dataGaLocation":192},"/partners/","partners",{"config":446,"title":449,"text":450,"link":451},{"background":447,"textColor":448},"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":452,"config":453},"Read the latest",{"href":454,"dataGaName":455,"dataGaLocation":192},"/whats-new/","whats new",{"text":457,"config":458,"menu":460},"Company",{"dataNavLevelOne":459},"company",{"type":243,"columns":461},[462],{"items":463},[464,469,475,477,482,487,492,497,502,507],{"text":465,"config":466},"About",{"href":467,"dataGaName":468,"dataGaLocation":192},"/company/","about",{"text":470,"config":471,"footerGa":474},"Jobs",{"href":472,"dataGaName":473,"dataGaLocation":192},"/jobs/","jobs",{"dataGaName":473},{"text":436,"config":476},{"href":438,"dataGaName":439,"dataGaLocation":192},{"text":478,"config":479},"Leadership",{"href":480,"dataGaName":481,"dataGaLocation":192},"/company/team/e-group/","leadership",{"text":483,"config":484},"Handbook",{"href":485,"dataGaName":486,"dataGaLocation":192},"https://handbook.gitlab.com/","handbook",{"text":488,"config":489},"Investor relations",{"href":490,"dataGaName":491,"dataGaLocation":192},"https://ir.gitlab.com/overview/default.aspx","investor relations",{"text":493,"config":494},"Trust Center",{"href":495,"dataGaName":496,"dataGaLocation":192},"/security/","trust center",{"text":498,"config":499},"AI Transparency Center",{"href":500,"dataGaName":501,"dataGaLocation":192},"/ai-transparency-center/","ai transparency center",{"text":503,"config":504},"Newsletter",{"href":505,"dataGaName":506,"dataGaLocation":192},"/company/contact/#contact-forms","newsletter",{"text":508,"config":509},"Press",{"href":510,"dataGaName":511,"dataGaLocation":192},"/press/","press",{"text":513,"config":514,"menu":515},"Contact us",{"dataNavLevelOne":459},{"type":243,"columns":516},[517],{"items":518},[519,524,529],{"text":520,"config":521},"Talk to sales",{"href":522,"dataGaName":523,"dataGaLocation":192},"/sales/","talk to sales",{"text":525,"config":526},"Support portal",{"href":527,"dataGaName":528,"dataGaLocation":192},"https://support.gitlab.com/hc/en-us","support portal",{"text":530,"config":531},"Customer portal",{"href":532,"dataGaName":533,"dataGaLocation":192},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":535,"login":536,"suggestions":543},"Close",{"text":537,"link":538},"To search repositories and projects, login to",{"text":539,"config":540},"gitlab.com",{"href":206,"dataGaName":541,"dataGaLocation":542},"search login","search",{"text":544,"default":545},"Suggestions",[546,548,552,554,558,562],{"text":223,"config":547},{"href":228,"dataGaName":223,"dataGaLocation":542},{"text":549,"config":550},"Code Suggestions (AI)",{"href":551,"dataGaName":549,"dataGaLocation":542},"/solutions/code-suggestions/",{"text":259,"config":553},{"href":261,"dataGaName":259,"dataGaLocation":542},{"text":555,"config":556},"GitLab on AWS",{"href":557,"dataGaName":555,"dataGaLocation":542},"/partners/technology-partners/aws/",{"text":559,"config":560},"GitLab on Google Cloud",{"href":561,"dataGaName":559,"dataGaLocation":542},"/partners/technology-partners/google-cloud-platform/",{"text":563,"config":564},"Why GitLab?",{"href":236,"dataGaName":563,"dataGaLocation":542},{"freeTrial":566,"mobileIcon":571,"desktopIcon":576,"secondaryButton":579},{"text":567,"config":568},"Start free trial",{"href":569,"dataGaName":197,"dataGaLocation":570},"https://gitlab.com/-/trials/new/","nav",{"altText":572,"config":573},"Gitlab Icon",{"src":574,"dataGaName":575,"dataGaLocation":570},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":572,"config":577},{"src":578,"dataGaName":575,"dataGaLocation":570},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":580,"config":581},"Get Started",{"href":582,"dataGaName":583,"dataGaLocation":570},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/get-started/","get started",{"freeTrial":585,"mobileIcon":589,"desktopIcon":591},{"text":586,"config":587},"Learn more about GitLab Duo",{"href":228,"dataGaName":588,"dataGaLocation":570},"gitlab duo",{"altText":572,"config":590},{"src":574,"dataGaName":575,"dataGaLocation":570},{"altText":572,"config":592},{"src":578,"dataGaName":575,"dataGaLocation":570},{"button":594,"mobileIcon":599,"desktopIcon":601},{"text":595,"config":596},"/switch",{"href":597,"dataGaName":598,"dataGaLocation":570},"#contact","switch",{"altText":572,"config":600},{"src":574,"dataGaName":575,"dataGaLocation":570},{"altText":572,"config":602},{"src":603,"dataGaName":575,"dataGaLocation":570},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773335277/ohhpiuoxoldryzrnhfrh.png",{"freeTrial":605,"mobileIcon":610,"desktopIcon":612},{"text":606,"config":607},"Back to pricing",{"href":341,"dataGaName":608,"dataGaLocation":570,"icon":609},"back to pricing","GoBack",{"altText":572,"config":611},{"src":574,"dataGaName":575,"dataGaLocation":570},{"altText":572,"config":613},{"src":578,"dataGaName":575,"dataGaLocation":570},{"title":615,"titleMobile":616,"button":617,"config":622},"Duo Agent Platform delivers 400% ROI, per new Forrester Consulting study.","400% ROI: Forrester TEI for GitLab Duo",{"text":234,"config":618},{"href":619,"dataGaName":620,"dataGaLocation":621},"https://about.gitlab.com/blog/gitlab-duo-agent-platform-delivers-400-percent-roi/","forrester-tei-dap-banner","global-banner",{"layout":623,"disabled":169},"release",{"data":625},{"text":626,"source":627,"edit":633,"contribute":638,"config":643,"items":648,"minimal":858},"Git is a trademark of Software Freedom Conservancy and our use of 'GitLab' is under license",{"text":628,"config":629},"View page source",{"href":630,"dataGaName":631,"dataGaLocation":632},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":634,"config":635},"Edit this page",{"href":636,"dataGaName":637,"dataGaLocation":632},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":639,"config":640},"Please contribute",{"href":641,"dataGaName":642,"dataGaLocation":632},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":644,"facebook":645,"youtube":646,"linkedin":647},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[649,696,750,794,826],{"title":339,"links":650,"subMenu":665},[651,655,660],{"text":652,"config":653},"View plans",{"href":341,"dataGaName":654,"dataGaLocation":632},"view plans",{"text":656,"config":657},"Why Premium?",{"href":658,"dataGaName":659,"dataGaLocation":632},"/pricing/premium/","why premium",{"text":661,"config":662},"Why Ultimate?",{"href":663,"dataGaName":664,"dataGaLocation":632},"/pricing/ultimate/","why ultimate",[666],{"title":667,"links":668},"Contact Us",[669,672,674,676,681,686,691],{"text":670,"config":671},"Contact sales",{"href":522,"dataGaName":202,"dataGaLocation":632},{"text":525,"config":673},{"href":527,"dataGaName":528,"dataGaLocation":632},{"text":530,"config":675},{"href":532,"dataGaName":533,"dataGaLocation":632},{"text":677,"config":678},"Status",{"href":679,"dataGaName":680,"dataGaLocation":632},"https://status.gitlab.com/","status",{"text":682,"config":683},"Terms of use",{"href":684,"dataGaName":685,"dataGaLocation":632},"/terms/","terms of use",{"text":687,"config":688},"Privacy statement",{"href":689,"dataGaName":690,"dataGaLocation":632},"/privacy/","privacy statement",{"text":692,"config":693},"Cookie preferences",{"dataGaName":694,"dataGaLocation":632,"id":695,"isOneTrustButton":172},"cookie preferences","ot-sdk-btn",{"title":239,"links":697,"subMenu":706},[698,702],{"text":699,"config":700},"DevSecOps platform",{"href":221,"dataGaName":701,"dataGaLocation":632},"devsecops platform",{"text":703,"config":704},"AI-Assisted Development",{"href":228,"dataGaName":705,"dataGaLocation":632},"ai-assisted development",[707],{"title":708,"links":709},"Topics",[710,715,720,725,730,735,740,745],{"text":711,"config":712},"CICD",{"href":713,"dataGaName":714,"dataGaLocation":632},"/topics/ci-cd/","cicd",{"text":716,"config":717},"GitOps",{"href":718,"dataGaName":719,"dataGaLocation":632},"/topics/gitops/","gitops",{"text":721,"config":722},"DevOps",{"href":723,"dataGaName":724,"dataGaLocation":632},"/topics/devops/","devops",{"text":726,"config":727},"Version Control",{"href":728,"dataGaName":729,"dataGaLocation":632},"/topics/version-control/","version control",{"text":731,"config":732},"DevSecOps",{"href":733,"dataGaName":734,"dataGaLocation":632},"/topics/devsecops/","devsecops",{"text":736,"config":737},"Cloud Native",{"href":738,"dataGaName":739,"dataGaLocation":632},"/topics/cloud-native/","cloud native",{"text":741,"config":742},"AI for Coding",{"href":743,"dataGaName":744,"dataGaLocation":632},"/topics/devops/ai-for-coding/","ai for coding",{"text":746,"config":747},"Agentic AI",{"href":748,"dataGaName":749,"dataGaLocation":632},"/topics/agentic-ai/","agentic ai",{"title":751,"links":752},"Solutions",[753,755,757,762,766,769,773,776,778,781,784,789],{"text":283,"config":754},{"href":278,"dataGaName":283,"dataGaLocation":632},{"text":272,"config":756},{"href":255,"dataGaName":256,"dataGaLocation":632},{"text":758,"config":759},"Agile development",{"href":760,"dataGaName":761,"dataGaLocation":632},"/solutions/agile-delivery/","agile delivery",{"text":763,"config":764},"SCM",{"href":268,"dataGaName":765,"dataGaLocation":632},"source code management",{"text":711,"config":767},{"href":261,"dataGaName":768,"dataGaLocation":632},"continuous integration & delivery",{"text":770,"config":771},"Value stream management",{"href":311,"dataGaName":772,"dataGaLocation":632},"value stream management",{"text":716,"config":774},{"href":775,"dataGaName":719,"dataGaLocation":632},"/solutions/gitops/",{"text":321,"config":777},{"href":324,"dataGaName":325,"dataGaLocation":632},{"text":779,"config":780},"Small business",{"href":330,"dataGaName":331,"dataGaLocation":632},{"text":782,"config":783},"Public sector",{"href":336,"dataGaName":337,"dataGaLocation":632},{"text":785,"config":786},"Education",{"href":787,"dataGaName":788,"dataGaLocation":632},"/solutions/education/","education",{"text":790,"config":791},"Financial services",{"href":792,"dataGaName":793,"dataGaLocation":632},"/solutions/finance/","financial services",{"title":344,"links":795},[796,798,800,802,805,807,810,812,814,816,818,820,822,824],{"text":357,"config":797},{"href":359,"dataGaName":360,"dataGaLocation":632},{"text":362,"config":799},{"href":364,"dataGaName":365,"dataGaLocation":632},{"text":367,"config":801},{"href":369,"dataGaName":370,"dataGaLocation":632},{"text":372,"config":803},{"href":374,"dataGaName":804,"dataGaLocation":632},"docs",{"text":395,"config":806},{"href":397,"dataGaName":398,"dataGaLocation":632},{"text":808,"config":809},"What's new",{"href":454,"dataGaName":455,"dataGaLocation":632},{"text":390,"config":811},{"href":392,"dataGaName":393,"dataGaLocation":632},{"text":409,"config":813},{"href":411,"dataGaName":412,"dataGaLocation":632},{"text":417,"config":815},{"href":419,"dataGaName":420,"dataGaLocation":632},{"text":422,"config":817},{"href":424,"dataGaName":425,"dataGaLocation":632},{"text":427,"config":819},{"href":429,"dataGaName":181,"dataGaLocation":632},{"text":431,"config":821},{"href":433,"dataGaName":434,"dataGaLocation":632},{"text":436,"config":823},{"href":438,"dataGaName":439,"dataGaLocation":632},{"text":441,"config":825},{"href":443,"dataGaName":444,"dataGaLocation":632},{"title":457,"links":827},[828,830,832,834,836,838,842,847,849,851,853],{"text":465,"config":829},{"href":467,"dataGaName":459,"dataGaLocation":632},{"text":470,"config":831},{"href":472,"dataGaName":473,"dataGaLocation":632},{"text":478,"config":833},{"href":480,"dataGaName":481,"dataGaLocation":632},{"text":483,"config":835},{"href":485,"dataGaName":486,"dataGaLocation":632},{"text":488,"config":837},{"href":490,"dataGaName":491,"dataGaLocation":632},{"text":839,"config":840},"Sustainability",{"href":841,"dataGaName":839,"dataGaLocation":632},"/sustainability/",{"text":843,"config":844},"Diversity, inclusion and belonging (DIB)",{"href":845,"dataGaName":846,"dataGaLocation":632},"/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":493,"config":848},{"href":495,"dataGaName":496,"dataGaLocation":632},{"text":503,"config":850},{"href":505,"dataGaName":506,"dataGaLocation":632},{"text":508,"config":852},{"href":510,"dataGaName":511,"dataGaLocation":632},{"text":854,"config":855},"Modern Slavery Transparency Statement",{"href":856,"dataGaName":857,"dataGaLocation":632},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":859},[860,863,866],{"text":861,"config":862},"Terms",{"href":684,"dataGaName":685,"dataGaLocation":632},{"text":864,"config":865},"Cookies",{"dataGaName":694,"dataGaLocation":632,"id":695,"isOneTrustButton":172},{"text":867,"config":868},"Privacy",{"href":689,"dataGaName":690,"dataGaLocation":632},[870],{"id":871,"title":7,"body":168,"config":872,"content":874,"description":168,"extension":877,"meta":878,"navigation":172,"path":879,"seo":880,"stem":881,"__hash__":882},"blogAuthors/en-us/blog/authors/ray-paik.yml",{"template":873},"BlogAuthor",{"name":7,"config":875},{"headshot":152,"ctfId":876},"rpaik","yml",{},"/en-us/blog/authors/ray-paik",{},"en-us/blog/authors/ray-paik","_Pg1KG9ipv34EW9ET2w-3983iQa3Hi75PNt5sR9aBdM",[884,892,900],{"title":885,"description":886,"heroImage":887,"category":164,"date":888,"authors":889,"slug":891,"externalUrl":168},"What's new in Git 2.55.0?","Learn about the new features and changes in Git 2.55, including a new git-history(1) fixup command, an fsmonitor daemon for Linux, pushing to remote groups, and more.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1782732487/ztwgrvlolpifo01vj8qc.png","2026-06-29",[890],"Toon Claes","whats-new-in-git-2-55-0",{"title":893,"description":894,"heroImage":895,"category":164,"date":896,"authors":897,"slug":899,"externalUrl":168},"GitLab AI Hackathon 2026: Meet the winners","Nearly 7,000 developers built 600+ AI agents and flows on GitLab Duo Agent Platform. Find out who won and what they created.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1776457632/llddiylsgwuze0u1rjks.png","2026-04-22",[898],"Nick Veenhof","gitlab-ai-hackathon-2026-meet-the-winners",{"title":901,"description":902,"heroImage":903,"category":164,"date":904,"authors":905,"slug":907,"externalUrl":168},"What’s new in Git 2.54.0?","Learn about release contributions, including new repository maintenance, a new command to edit commit history, a replacement for git-sizer(1), and more.","https://res.cloudinary.com/about-gitlab-com/image/upload/v1782734716/ztwgrvlolpifo01vj8qc.png","2026-04-20",[906],"Patrick Steinhardt","whats-new-in-git-2-54-0",{"promotions":909},[910,924,936,948],{"id":911,"categories":912,"header":914,"text":915,"button":916,"image":921},"ai-modernization",[913],"ai","Is AI achieving its promise at scale?","Quiz will take 5 minutes or less",{"text":917,"config":918},"Get your AI maturity score",{"href":919,"dataGaName":920,"dataGaLocation":398},"/assessments/ai-modernization-assessment/","modernization assessment",{"config":922},{"src":923},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/qix0m7kwnd8x2fh1zq49.png",{"id":925,"categories":926,"header":928,"text":915,"button":929,"image":933},"devops-modernization",[927,734],"product","Are you just managing tools or shipping innovation?",{"text":930,"config":931},"Get your DevOps maturity score",{"href":932,"dataGaName":920,"dataGaLocation":398},"/assessments/devops-modernization-assessment/",{"config":934},{"src":935},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138785/eg818fmakweyuznttgid.png",{"id":937,"categories":938,"header":940,"text":915,"button":941,"image":945},"security-modernization",[939],"security","Are you trading speed for security?",{"text":942,"config":943},"Get your security maturity score",{"href":944,"dataGaName":920,"dataGaLocation":398},"/assessments/security-modernization-assessment/",{"config":946},{"src":947},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/p4pbqd9nnjejg5ds6mdk.png",{"id":949,"paths":950,"header":953,"text":954,"button":955,"image":960},"github-azure-migration",[951,952],"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":956,"config":957},"See how GitLab compares to GitHub",{"href":958,"dataGaName":959,"dataGaLocation":398},"/compare/gitlab-vs-github/github-azure-migration/","github azure migration",{"config":961},{"src":935},{"header":963,"blurb":964,"button":965,"secondaryButton":970},"Start building faster today","See what your team can do with the intelligent orchestration platform for DevSecOps.\n",{"text":966,"config":967},"Get your free trial",{"href":968,"dataGaName":197,"dataGaLocation":969},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/","feature",{"text":670,"config":971},{"href":522,"dataGaName":202,"dataGaLocation":969},1786803754575]