CINXE.COM
Available now on GitLab | GitLab
<!DOCTYPE html> <html class=html--no-js lang=en> <head> <meta charset=UTF-8 /> <meta content='width=device-width, initial-scale=1.0' name=viewport /> <meta content='default-src 'self' https: http:; script-src 'self' 'unsafe-inline' 'unsafe-eval' https: http:; style-src 'self' 'unsafe-inline' https: http:; object-src https: http:; base-uri 'self'; connect-src 'self' https: http: wss: ws:; frame-src 'self' https: http:; img-src 'self' https: http: data:; manifest-src 'self'; media-src 'self' https: http:; worker-src 'self' https: http:;' http-equiv=Content-Security-Policy /> <meta content='index, follow' name=robots /> <title> Available now on GitLab | GitLab </title> <meta content='“New features are regularly released to GitLab SaaS. Read on to learn more about the new features available on GitLab.com.”' name=description /> <meta content='“New features are regularly released to GitLab SaaS. Read on to learn more about the new features available on GitLab.com.”' name='twitter:description'/> <meta content='“New features are regularly released to GitLab SaaS. Read on to learn more about the new features available on GitLab.com.”' property='og:description'/> <meta content=GitLab property='og:site_name'/> <meta content='Available now on GitLab' property='og:title'/> <meta content='https://gitlab.com/gitlab-com/www-gitlab-com/' property='og:repo'/> <meta content='https://gitlab.com/' property='og:instance'/> <meta content='gitlab-com/www-gitlab-com/' property='og:path'/> <meta content='releases/gitlab-com/template.html.haml' property='og:relative_path'/> <meta content='sites/uncategorized/' property='og:monorepo_site_path_fragment'/> <meta content=article property='og:type'/> <meta content='https://about.gitlab.com/releases/gitlab-com/' property='og:url'/> <meta content="https://about.gitlab.com/images/opengraph/gitlab-blog-cover.png" property="og:image"> <meta content="https://about.gitlab.com/images/opengraph/gitlab-blog-cover.png" name="twitter:image"> <meta content=summary_large_image name='twitter:card'/> <meta content='@GitLab' name='twitter:site'/> <meta content='Available now on GitLab' name='twitter:title'/> <meta content='@GitLab' name='twitter:creator'/> <link href='/atom.xml' rel=alternate title=Blog type='application/atom+xml'/> <link href='/all-releases.xml' rel=alternate title='All Releases' type='application/atom+xml'/> <link href='/security-releases.xml' rel=alternate title='Security Releases' type='application/atom+xml'/> <link href='/releases.xml' rel=alternate title='Major Releases' type='application/atom+xml'/> <link href='/ico/favicon.ico?cache=2022041' rel='shortcut icon'/> <link href='/ico/favicon-192x192.png?cache=2022041' rel=icon sizes=192x192 type='image/png'/> <link href='/ico/favicon-160x160.png?cache=2022041' rel=icon sizes=160x160 type='image/png'/> <link href='/ico/favicon-96x96.png?cache=2022041' rel=icon sizes=96x96 type='image/png'/> <link href='/ico/favicon-16x16.png?cache=2022041' rel=icon sizes=16x16 type='image/png'/> <link href='/ico/favicon-32x32.png?cache=2022041' rel=icon sizes=32x32 type='image/png'/> <link href='/ico/apple-touch-icon-57x57.png?cache=2022041' rel=apple-touch-icon sizes=57x57 /> <link href='/ico/apple-touch-icon-114x114.png?cache=2022041' rel=apple-touch-icon sizes=114x114 /> <link href='/ico/apple-touch-icon-72x72.png?cache=2022041' rel=apple-touch-icon sizes=72x72 /> <link href='/ico/apple-touch-icon-144x144.png?cache=2022041' rel=apple-touch-icon sizes=144x144 /> <link href='/ico/apple-touch-icon-60x60.png?cache=2022041' rel=apple-touch-icon sizes=60x60 /> <link href='/ico/apple-touch-icon-120x120.png?cache=2022041' rel=apple-touch-icon sizes=120x120 /> <link href='/ico/apple-touch-icon-76x76.png?cache=2022041' rel=apple-touch-icon sizes=76x76 /> <link href='/ico/apple-touch-icon-152x152.png?cache=2022041' rel=apple-touch-icon sizes=152x152 /> <link href='/ico/apple-touch-icon-180x180.png?cache=2022041' rel=apple-touch-icon sizes=180x180 /> <meta content='#554488' name=msapplication-TileColor /> <meta content='/ico/mstile-144x144.png?cache=2022041' name=msapplication-TileImage /> <meta content='/ico/browserconfig.xml' name=msapplication-config /> <script src='https://cdn.cookielaw.org/consent/7f944245-c5cd-4eed-a90e-dd955adfdd08/OtAutoBlock.js'></script> <script charset=UTF-8 data-domain-script=7f944245-c5cd-4eed-a90e-dd955adfdd08 src='https://cdn.cookielaw.org/scripttemplates/otSDKStub.js'></script> <script> //<![CDATA[ function OptanonWrapper() { } //]]> </script> <script> //<![CDATA[ window.dataLayer = window.dataLayer || [] function gtag(){dataLayer.push(arguments);} gtag('consent', 'default', { 'analytics_storage': 'denied', 'ad_storage': 'denied', 'functionality_storage': 'denied', 'region': [ 'AT', 'BE', 'BG', 'HR', 'CY', 'CZ', 'DK', 'EE', 'FI', 'FR', 'DE', 'GR', 'HU', 'IE', 'IT', 'LV', 'LT', 'LU', 'MT', 'NL', 'PL', 'PT', 'RO', 'SK', 'SI', 'ES', 'SE', 'IS', 'LI', 'NO', 'GB', 'PE', 'RU'], 'wait_for_update': 500 }); gtag('consent', 'default', { 'analytics_storage': 'granted', 'ad_storage': 'granted', 'functionality_storage': 'granted', 'wait_for_update': 500 }); window.geofeed = (options) => { dataLayer.push({ 'event' : 'OneTrustCountryLoad', 'oneTrustCountryId': options.country.toString() }) } const json = document.createElement('script'); json.setAttribute('src', 'https://geolocation.onetrust.com/cookieconsentpub/v1/geo/location/geofeed'); document.head.appendChild(json); //]]> </script> <script>document.documentElement.className = 'html--js'</script> <script async='' src='//cdn.bizible.com/scripts/bizible.js'></script> <script> (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','https://www.google-analytics.com/analytics.js','ga'); ga('create', 'UA-37019925-1', 'auto', {allowLinker: true}); ga('require', 'GTM-WC3ZR2P'); </script> <script> (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-NJXWQL'); </script> <script> (function(w,d,t,u,n,s,e){w['SwiftypeObject']=n;w[n]=w[n]||function(){ (w[n].q=w[n].q||[]).push(arguments);};s=d.createElement(t); e=d.getElementsByTagName(t)[0];s.async=1;s.src=u;e.parentNode.insertBefore(s,e); })(window,document,'script','//s.swiftypecdn.com/install/v2/st.js','_st'); _st('install','5geYbhTxNzL5dsekC-B-','2.0.0'); </script> <link href='https://about.gitlab.com/releases/gitlab-com/' rel=canonical /> <link href='//fonts.googleapis.com/css?family=Source+Sans+Pro:200,300,400,500,600,700' rel=stylesheet /> <link crossorigin=anonymous href='https://use.fontawesome.com/releases/v6.6.0/css/all.css' integrity='sha384-h/hnnw1Bi4nbpD6kE7nYfCXzovi622sY5WBxww8ARKwpdLj5kUWjRuyiXaD1U2JT' rel=stylesheet /> <link href='https://cdnjs.cloudflare.com/ajax/libs/tiny-slider/2.8.7/tiny-slider.css' rel=stylesheet /> <link href="/stylesheets/styles.css" rel=stylesheet /> <link href="/stylesheets/slippers.css?cacheBust=fd2bae4c" rel=stylesheet /> <link href="/stylesheets/be-navigation.css?cacheBust=fd2bae4c" rel=stylesheet /> </head> <body data-offset=90 data-spy=scroll data-target='.qnav'> <noscript> <iframe height=0 src='//www.googletagmanager.com/ns.html?id=GTM-NJXWQL' style='display:none;visibility:hidden' width=0></iframe> </noscript> <template id=be-nav> <div id=be-nav-target> <slp-navigation></slp-navigation> </div> </template> <nav class='slp-sticky slp-left-0 slp-right-0 slp-top-0 slp-bg-white slp-z-90' id=global-nav style='z-index: 1000000;'> <be-navigation></be-navigation> </nav> <div class='search-box js-search-box'> <i class='fa fa-search search-box-icon'></i> <input class='search-input js-search st-header' placeholder='Search...'/> <button aria-label='Close search' class='search-close js-search-toggle' type=button> <i class='fa fa-times'></i> </button> </div> <script src='/javascripts/be-navigation.js?cacheBust=fd2bae4c'></script> <html> <head> <link href='/stylesheets/release-posts.css' rel=stylesheet /> <link href='/stylesheets/release-gitlab-saas.css' rel=stylesheet /> </head> <body data-spy=scroll data-target='.qnav'> <noscript> <iframe height=0 src='//www.googletagmanager.com/ns.html?id=GTM-NJXWQL' style='display:none;visibility:hidden' width=0></iframe> </noscript> <div class='blog article release-post-refresh'> <div class=cover style='background-image: url(/images/release-layout-gradient.png);'> <div class=overlay-dark> <div class='wrapper header'> <span class=date> Nov 24, 2024 </span> <div class=release-number> Available now on GitLab </div> <h1> </h1> <p class=description> The latest features available on GitLab SaaS </p> </div> </div> </div> <div class='wrapper body'> <div class=content> <section class=release-post-section id=intro-section> <div id=intro> <p> New features are regularly released to GitLab SaaS (GitLab.com), with a packaged release available for GitLab Self-Managed every month. Read on to learn more about the new features available on GitLab.com. Note that it may take a few days for a feature to become fully available on GitLab.com, due to deployment schedule and potential <a href='https://docs.gitlab.com/ee/development/feature_flags/index.html'>feature flags.</a> </p> <p> Additional information on <a href="/releases/">past</a> releases is available; be sure to check out the <b></b> release for other features we've launched recently. We also have information about <a href="/upcoming-releases/">upcoming releases</a> if you're interested in seeing what we are doing next. </p> </div> </section> <section class='top-feature release-post-section refresh-purple-background' id=top-feature> <div class=release-post-section> <h2 class=features-released id=key-features-released> <a class=header-link href='#key-features'> <i class='fas fa-link'></i> <span class=sr-only> Preview </span> </a> Key improvements released in GitLab Preview </h2> </div> </section> <section class='release-post-section refresh-purple-background' id=primary-features> <div class=subtitle-row> <h2 class=refresh-h3 id=rotate-personal-access-tokens-in-the-ui> <a class=header-link href='#rotate-personal-access-tokens-in-the-ui'> <i class='fas fa-link'></i> <span class=sr-only> <p>Rotate personal access tokens in the UI</p> </span> </a> <p>Rotate personal access tokens in the UI</p> </h2> </div> <div class=release-row> <div class=column> <div class=badge-with-tiers> <a class=stage-badge data-placement=auto data-toggle=tooltip href='/stages-devops-lifecycle/software_supply_chain_security/' title='Software Supply Chain Security'> <svg id=Layer_1 data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 46 46"><path d="M21,27.52a1,1,0,0,0,.7-.29l7.05-7a1,1,0,0,0-1.41-1.41L21,25.11,18.7,22.86a1,1,0,0,0-1.41,0,1,1,0,0,0,0,1.41l3,3A1,1,0,0,0,21,27.52Z"/><path d="M39.9,29.58a1,1,0,0,0-1.3.55A24.84,24.84,0,0,1,23,44C14.4,41.22,7.84,34.33,6.26,26.33a1,1,0,0,0,0-.1,3.52,3.52,0,1,0-1.92.21.88.88,0,0,0,0,.28C6,35.52,13.26,43.07,22.71,46a1.07,1.07,0,0,0,.58,0c7.88-2.41,14.29-8,17.16-15.08A1,1,0,0,0,39.9,29.58ZM3.37,23a1.5,1.5,0,1,1,1.5,1.5A1.5,1.5,0,0,1,3.37,23Z"/><path d="M42.13,19.66v-13a1,1,0,0,0-1.34-.93,14.54,14.54,0,0,1-17-5.26,1,1,0,0,0-1.62,0,14.54,14.54,0,0,1-17,5.26,1,1,0,0,0-1.34.93v8.64a1,1,0,0,0,2,0V8A16.46,16.46,0,0,0,23,2.63,16.46,16.46,0,0,0,40.13,8V19.66a3.5,3.5,0,1,0,2,0Zm-1,4.84a1.5,1.5,0,1,1,1.5-1.5A1.5,1.5,0,0,1,41.13,24.5Z"/></svg> <span class=sr-only> stage-badge </span> </a> <div class='badge-container dark'> <div class=badge-container-type>SaaS</div> <div class=top-row> <a data-ga-location=body data-ga-name=free data-placement=top data-toggle=tooltip href='/pricing/#gitlab-com' title='Available in GitLab SaaS Free'> <div class='badge available'><svg width=11 height=8 viewBox="0 0 11 8" fill=none xmlns="http://www.w3.org/2000/svg"> <path fill-rule=evenodd clip-rule=evenodd d="M10.7071 0.292893C11.0976 0.683417 11.0976 1.31658 10.7071 1.70711L4.70711 7.70711C4.31658 8.09763 3.68342 8.09763 3.29289 7.70711L0.292893 4.70711C-0.0976311 4.31658 -0.0976311 3.68342 0.292893 3.29289C0.683417 2.90237 1.31658 2.90237 1.70711 3.29289L4 5.58579L9.29289 0.292893C9.68342 -0.0976311 10.3166 -0.0976311 10.7071 0.292893Z" fill=currentColor /> </svg> Free</div> </a> <a data-ga-location=body data-ga-name=premium data-placement=top data-toggle=tooltip href='/pricing/#gitlab-com' title='Available in GitLab SaaS Premium'> <div class='badge available'><svg width=11 height=8 viewBox="0 0 11 8" fill=none xmlns="http://www.w3.org/2000/svg"> <path fill-rule=evenodd clip-rule=evenodd d="M10.7071 0.292893C11.0976 0.683417 11.0976 1.31658 10.7071 1.70711L4.70711 7.70711C4.31658 8.09763 3.68342 8.09763 3.29289 7.70711L0.292893 4.70711C-0.0976311 4.31658 -0.0976311 3.68342 0.292893 3.29289C0.683417 2.90237 1.31658 2.90237 1.70711 3.29289L4 5.58579L9.29289 0.292893C9.68342 -0.0976311 10.3166 -0.0976311 10.7071 0.292893Z" fill=currentColor /> </svg> Premium</div> </a> <a data-ga-location=body data-ga-name=ultimate data-placement=top data-toggle=tooltip href='/pricing/#gitlab-com' title='Available in GitLab SaaS Ultimate'> <div class='badge available'><svg width=11 height=8 viewBox="0 0 11 8" fill=none xmlns="http://www.w3.org/2000/svg"> <path fill-rule=evenodd clip-rule=evenodd d="M10.7071 0.292893C11.0976 0.683417 11.0976 1.31658 10.7071 1.70711L4.70711 7.70711C4.31658 8.09763 3.68342 8.09763 3.29289 7.70711L0.292893 4.70711C-0.0976311 4.31658 -0.0976311 3.68342 0.292893 3.29289C0.683417 2.90237 1.31658 2.90237 1.70711 3.29289L4 5.58579L9.29289 0.292893C9.68342 -0.0976311 10.3166 -0.0976311 10.7071 0.292893Z" fill=currentColor /> </svg> Ultimate</div> </a> </div> <div class=badge-container-type>Self-Managed</div> <div class=bottom-row> <a data-ga-location=body data-ga-name=free data-placement=top data-toggle=tooltip href='/pricing/#self-managed' title='Not available in GitLab self-managed Free'> <div class=badge><svg width=16 height=16 viewBox="0 0 16 16" fill=none xmlns="http://www.w3.org/2000/svg"> <path d="M11.2929 3.29289C11.6834 2.90237 12.3166 2.90237 12.7071 3.29289C13.0976 3.68342 13.0976 4.31658 12.7071 4.70711L9.41421 8L12.7071 11.2929C13.0976 11.6834 13.0976 12.3166 12.7071 12.7071C12.3166 13.0976 11.6834 13.0976 11.2929 12.7071L8 9.41421L4.70711 12.7071C4.31658 13.0976 3.68342 13.0976 3.29289 12.7071C2.90237 12.3166 2.90237 11.6834 3.29289 11.2929L6.58579 8L3.29289 4.70711C2.90237 4.31658 2.90237 3.68342 3.29289 3.29289C3.68342 2.90237 4.31658 2.90237 4.70711 3.29289L8 6.58579L11.2929 3.29289Z" fill="#333333"/> </svg> Free</div> </a> <a data-ga-location=body data-ga-name=premium data-placement=top data-toggle=tooltip href='/pricing/#self-managed' title='Available in GitLab self-managed Premium'> <div class='badge available'><svg width=11 height=8 viewBox="0 0 11 8" fill=none xmlns="http://www.w3.org/2000/svg"> <path fill-rule=evenodd clip-rule=evenodd d="M10.7071 0.292893C11.0976 0.683417 11.0976 1.31658 10.7071 1.70711L4.70711 7.70711C4.31658 8.09763 3.68342 8.09763 3.29289 7.70711L0.292893 4.70711C-0.0976311 4.31658 -0.0976311 3.68342 0.292893 3.29289C0.683417 2.90237 1.31658 2.90237 1.70711 3.29289L4 5.58579L9.29289 0.292893C9.68342 -0.0976311 10.3166 -0.0976311 10.7071 0.292893Z" fill=currentColor /> </svg> Premium</div> </a> <a data-ga-location=body data-ga-name=ultimate data-placement=top data-toggle=tooltip href='/pricing/#self-managed' title='Available in GitLab self-managed Ultimate'> <div class='badge available'><svg width=11 height=8 viewBox="0 0 11 8" fill=none xmlns="http://www.w3.org/2000/svg"> <path fill-rule=evenodd clip-rule=evenodd d="M10.7071 0.292893C11.0976 0.683417 11.0976 1.31658 10.7071 1.70711L4.70711 7.70711C4.31658 8.09763 3.68342 8.09763 3.29289 7.70711L0.292893 4.70711C-0.0976311 4.31658 -0.0976311 3.68342 0.292893 3.29289C0.683417 2.90237 1.31658 2.90237 1.70711 3.29289L4 5.58579L9.29289 0.292893C9.68342 -0.0976311 10.3166 -0.0976311 10.7071 0.292893Z" fill=currentColor /> </svg> Ultimate</div> </a> </div> </div> </div> <p>You can now use the UI to rotate personal access tokens. Previously, you had to use the API to do this. A proposal to extend this functionality to project and group access tokens is in <a href="https://gitlab.com/gitlab-org/gitlab/-/issues/504824">issue 504824</a>.</p> <p>Thank you <a href="https://gitlab.com/shangsuru">shangsuru</a> for your contribution!</p> <div class='row reference-buttons'> <div class='col-md-12 col-sm-12'> <a class='btn btn-default btn-sm product-icon' href='https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html#revoke-or-rotate-a-personal-access-token' target=_blank> <svg width=16 height=16 viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><path d="M5 1h4.244a2 2 0 0 1 1.434.606l2.756 2.834A2 2 0 0 1 14 5.835V12a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V4a3 3 0 0 1 3-3zm0 2a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V5.835L9.244 3H5zm1.5 7h3a.5.5 0 1 1 0 1h-3a.5.5 0 1 1 0-1zm0-2h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1zM8 2l3 1.995L13 7H9a1 1 0 0 1-1-1V2z"/></svg> Documentation </a> <a class='btn btn-default btn-sm product-icon' href='https://gitlab.com/gitlab-org/gitlab/-/issues/241523' target=_blank> <svg width=16 height=16 viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><path d="M10.892 3.072l1.048.185a3 3 0 0 1 2.433 3.476l-.868 4.924a3 3 0 0 1-3.12 2.474A3.98 3.98 0 0 0 11 12.03a.999.999 0 0 0 .535-.72l.869-4.924a1 1 0 0 0-.811-1.158L11 5.122V4c0-.32-.037-.63-.108-.928zM4 1h3a3 3 0 0 1 3 3v8a3 3 0 0 1-3 3H4a3 3 0 0 1-3-3V4a3 3 0 0 1 3-3zm0 2a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1H4z"/></svg> Issue </a> </div> </div> </div> <div class=column> <figure class=video_container> <iframe allowfullscreen=true frameborder=0 src='https://www.youtube-nocookie.com/embed/YqK2CF655OE?si=lntYHOvYEPb7NpeY?rel=0'></iframe> </figure> </div> </div> </section> <section class=release-post-section id=secondary-features> <div class='release-post-section text-center zero-bottom-margin'> <div class=title-with-stage> <h2 class='refresh-h2 features-released' id=other-improvements-in-gitlab> <a class=header-link href='#other-improvements-in-gitlab'> <i class='fas fa-link'></i> <span class=sr-only> Preview </span> </a> Other improvements in GitLab Preview </h2> </div> </div> <div class='release-row align-top divider'> <div class=secondary-release-column> <div class=secondary-column-feature> <h3 class=refresh-h4 id=navigation-and-usability-improvements-for-the-compliance-center> <a class=header-link href='#navigation-and-usability-improvements-for-the-compliance-center'> <i class='fas fa-link'></i> <span class=sr-only> <p>Navigation and usability improvements for the compliance center</p> </span> </a> <p>Navigation and usability improvements for the compliance center</p> </h3> <div class=badge-with-tiers> <a class=stage-badge data-placement=auto data-toggle=tooltip href='/stages-devops-lifecycle/software_supply_chain_security/' title='Software Supply Chain Security'> <svg id=Layer_1 data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 46 46"><path d="M21,27.52a1,1,0,0,0,.7-.29l7.05-7a1,1,0,0,0-1.41-1.41L21,25.11,18.7,22.86a1,1,0,0,0-1.41,0,1,1,0,0,0,0,1.41l3,3A1,1,0,0,0,21,27.52Z"/><path d="M39.9,29.58a1,1,0,0,0-1.3.55A24.84,24.84,0,0,1,23,44C14.4,41.22,7.84,34.33,6.26,26.33a1,1,0,0,0,0-.1,3.52,3.52,0,1,0-1.92.21.88.88,0,0,0,0,.28C6,35.52,13.26,43.07,22.71,46a1.07,1.07,0,0,0,.58,0c7.88-2.41,14.29-8,17.16-15.08A1,1,0,0,0,39.9,29.58ZM3.37,23a1.5,1.5,0,1,1,1.5,1.5A1.5,1.5,0,0,1,3.37,23Z"/><path d="M42.13,19.66v-13a1,1,0,0,0-1.34-.93,14.54,14.54,0,0,1-17-5.26,1,1,0,0,0-1.62,0,14.54,14.54,0,0,1-17,5.26,1,1,0,0,0-1.34.93v8.64a1,1,0,0,0,2,0V8A16.46,16.46,0,0,0,23,2.63,16.46,16.46,0,0,0,40.13,8V19.66a3.5,3.5,0,1,0,2,0Zm-1,4.84a1.5,1.5,0,1,1,1.5-1.5A1.5,1.5,0,0,1,41.13,24.5Z"/></svg> <span class=sr-only> stage-badge </span> </a> <div class='badge-container dark'> <div class=badge-container-type>SaaS</div> <div class=top-row> <a data-ga-location=body data-ga-name=free data-placement=top data-toggle=tooltip href='/pricing/#gitlab-com' title='Not available in GitLab SaaS Free'> <div class=badge><svg width=16 height=16 viewBox="0 0 16 16" fill=none xmlns="http://www.w3.org/2000/svg"> <path d="M11.2929 3.29289C11.6834 2.90237 12.3166 2.90237 12.7071 3.29289C13.0976 3.68342 13.0976 4.31658 12.7071 4.70711L9.41421 8L12.7071 11.2929C13.0976 11.6834 13.0976 12.3166 12.7071 12.7071C12.3166 13.0976 11.6834 13.0976 11.2929 12.7071L8 9.41421L4.70711 12.7071C4.31658 13.0976 3.68342 13.0976 3.29289 12.7071C2.90237 12.3166 2.90237 11.6834 3.29289 11.2929L6.58579 8L3.29289 4.70711C2.90237 4.31658 2.90237 3.68342 3.29289 3.29289C3.68342 2.90237 4.31658 2.90237 4.70711 3.29289L8 6.58579L11.2929 3.29289Z" fill="#333333"/> </svg> Free</div> </a> <a data-ga-location=body data-ga-name=premium data-placement=top data-toggle=tooltip href='/pricing/#gitlab-com' title='Available in GitLab SaaS Premium'> <div class='badge available'><svg width=11 height=8 viewBox="0 0 11 8" fill=none xmlns="http://www.w3.org/2000/svg"> <path fill-rule=evenodd clip-rule=evenodd d="M10.7071 0.292893C11.0976 0.683417 11.0976 1.31658 10.7071 1.70711L4.70711 7.70711C4.31658 8.09763 3.68342 8.09763 3.29289 7.70711L0.292893 4.70711C-0.0976311 4.31658 -0.0976311 3.68342 0.292893 3.29289C0.683417 2.90237 1.31658 2.90237 1.70711 3.29289L4 5.58579L9.29289 0.292893C9.68342 -0.0976311 10.3166 -0.0976311 10.7071 0.292893Z" fill=currentColor /> </svg> Premium</div> </a> <a data-ga-location=body data-ga-name=ultimate data-placement=top data-toggle=tooltip href='/pricing/#gitlab-com' title='Available in GitLab SaaS Ultimate'> <div class='badge available'><svg width=11 height=8 viewBox="0 0 11 8" fill=none xmlns="http://www.w3.org/2000/svg"> <path fill-rule=evenodd clip-rule=evenodd d="M10.7071 0.292893C11.0976 0.683417 11.0976 1.31658 10.7071 1.70711L4.70711 7.70711C4.31658 8.09763 3.68342 8.09763 3.29289 7.70711L0.292893 4.70711C-0.0976311 4.31658 -0.0976311 3.68342 0.292893 3.29289C0.683417 2.90237 1.31658 2.90237 1.70711 3.29289L4 5.58579L9.29289 0.292893C9.68342 -0.0976311 10.3166 -0.0976311 10.7071 0.292893Z" fill=currentColor /> </svg> Ultimate</div> </a> </div> <div class=badge-container-type>Self-Managed</div> <div class=bottom-row> <a data-ga-location=body data-ga-name=free data-placement=top data-toggle=tooltip href='/pricing/#self-managed' title='Not available in GitLab self-managed Free'> <div class=badge><svg width=16 height=16 viewBox="0 0 16 16" fill=none xmlns="http://www.w3.org/2000/svg"> <path d="M11.2929 3.29289C11.6834 2.90237 12.3166 2.90237 12.7071 3.29289C13.0976 3.68342 13.0976 4.31658 12.7071 4.70711L9.41421 8L12.7071 11.2929C13.0976 11.6834 13.0976 12.3166 12.7071 12.7071C12.3166 13.0976 11.6834 13.0976 11.2929 12.7071L8 9.41421L4.70711 12.7071C4.31658 13.0976 3.68342 13.0976 3.29289 12.7071C2.90237 12.3166 2.90237 11.6834 3.29289 11.2929L6.58579 8L3.29289 4.70711C2.90237 4.31658 2.90237 3.68342 3.29289 3.29289C3.68342 2.90237 4.31658 2.90237 4.70711 3.29289L8 6.58579L11.2929 3.29289Z" fill="#333333"/> </svg> Free</div> </a> <a data-ga-location=body data-ga-name=premium data-placement=top data-toggle=tooltip href='/pricing/#self-managed' title='Available in GitLab self-managed Premium'> <div class='badge available'><svg width=11 height=8 viewBox="0 0 11 8" fill=none xmlns="http://www.w3.org/2000/svg"> <path fill-rule=evenodd clip-rule=evenodd d="M10.7071 0.292893C11.0976 0.683417 11.0976 1.31658 10.7071 1.70711L4.70711 7.70711C4.31658 8.09763 3.68342 8.09763 3.29289 7.70711L0.292893 4.70711C-0.0976311 4.31658 -0.0976311 3.68342 0.292893 3.29289C0.683417 2.90237 1.31658 2.90237 1.70711 3.29289L4 5.58579L9.29289 0.292893C9.68342 -0.0976311 10.3166 -0.0976311 10.7071 0.292893Z" fill=currentColor /> </svg> Premium</div> </a> <a data-ga-location=body data-ga-name=ultimate data-placement=top data-toggle=tooltip href='/pricing/#self-managed' title='Available in GitLab self-managed Ultimate'> <div class='badge available'><svg width=11 height=8 viewBox="0 0 11 8" fill=none xmlns="http://www.w3.org/2000/svg"> <path fill-rule=evenodd clip-rule=evenodd d="M10.7071 0.292893C11.0976 0.683417 11.0976 1.31658 10.7071 1.70711L4.70711 7.70711C4.31658 8.09763 3.68342 8.09763 3.29289 7.70711L0.292893 4.70711C-0.0976311 4.31658 -0.0976311 3.68342 0.292893 3.29289C0.683417 2.90237 1.31658 2.90237 1.70711 3.29289L4 5.58579L9.29289 0.292893C9.68342 -0.0976311 10.3166 -0.0976311 10.7071 0.292893Z" fill=currentColor /> </svg> Ultimate</div> </a> </div> </div> </div> <p>We continue to make iterative and important improvements to the compliance center’s user experience for both groups and projects.</p> <p>With GitLab 17.7, we shipped two key improvements:</p> <ul> <li>Users can now filter by groups in the <strong>Projects</strong> tab of the compliance center, which gives another option to users to apply, filter, and search for the appropriate project, and the compliance framework attached to that project.</li> <li>A project’s compliance center now has a <strong>Frameworks</strong> tab, which allows users to search for compliance frameworks attached to that particular project.</li> </ul> <p>Please note that adding or editing frameworks is still done on groups, not projects.</p> <img src="/images/unreleased/navigation-and-usability-improvements-to-compliance-center.png" class=shadow alt="Navigation and usability improvements for the compliance center" loading=lazy /> <div class='row reference-buttons ref-buttons-second-features'> <div class='col-md-12 col-sm-12'> <a class='btn btn-default btn-xs product-icon-xm' href='https://docs.gitlab.com/ee/user/compliance/compliance_center/compliance_frameworks_report.html' target=_blank> <svg width=16 height=16 viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><path d="M5 1h4.244a2 2 0 0 1 1.434.606l2.756 2.834A2 2 0 0 1 14 5.835V12a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V4a3 3 0 0 1 3-3zm0 2a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V5.835L9.244 3H5zm1.5 7h3a.5.5 0 1 1 0 1h-3a.5.5 0 1 1 0-1zm0-2h2a.5.5 0 0 1 0 1h-2a.5.5 0 0 1 0-1zM8 2l3 1.995L13 7H9a1 1 0 0 1-1-1V2z"/></svg> Documentation </a> <a class='btn btn-default btn-xs product-icon-xm' href='https://gitlab.com/gitlab-org/gitlab/-/issues/499183' target=_blank> <svg width=16 height=16 viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><path d="M10.892 3.072l1.048.185a3 3 0 0 1 2.433 3.476l-.868 4.924a3 3 0 0 1-3.12 2.474A3.98 3.98 0 0 0 11 12.03a.999.999 0 0 0 .535-.72l.869-4.924a1 1 0 0 0-.811-1.158L11 5.122V4c0-.32-.037-.63-.108-.928zM4 1h3a3 3 0 0 1 3 3v8a3 3 0 0 1-3 3H4a3 3 0 0 1-3-3V4a3 3 0 0 1 3-3zm0 2a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1H4z"/></svg> Issue </a> <a class='btn btn-default btn-xs product-icon-xm' href='https://gitlab.com/gitlab-org/gitlab/-/issues/468399' target=_blank> <svg width=16 height=16 viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg"><path d="M10.892 3.072l1.048.185a3 3 0 0 1 2.433 3.476l-.868 4.924a3 3 0 0 1-3.12 2.474A3.98 3.98 0 0 0 11 12.03a.999.999 0 0 0 .535-.72l.869-4.924a1 1 0 0 0-.811-1.158L11 5.122V4c0-.32-.037-.63-.108-.928zM4 1h3a3 3 0 0 1 3 3v8a3 3 0 0 1-3 3H4a3 3 0 0 1-3-3V4a3 3 0 0 1 3-3zm0 2a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1H4z"/></svg> Issue </a> </div> </div> </div> </div> <div class=secondary-release-column> </div> </div> </section> <section class=release-post-section id=deprecations> <h2 class=text-center id=release-deprecations> <a class=header-link href='#release-deprecations'> <i class='fas fa-link'></i> <span class=sr-only> Deprecations </span> </a> Deprecations </h2> <p> <p>The complete list of all features that are currently deprecated can be viewed in the <a href="https://docs.gitlab.com/ee/update/deprecations.html">GitLab documentation</a>. To be notified of upcoming breaking changes, <a href="https://about.gitlab.com/breaking-changes.xml">subscribe to our Breaking Changes RSS feed</a>.</p> </p> </section> <section class=release-post-section id=removals> <h2 class=refresh-h2 id=release-removals> <a class=header-link href='#release-removals'> <i class='fas fa-link'></i> <span class=sr-only> Removals and breaking changes </span> </a> Removals and breaking changes </h2> <p> <p>The complete list of all removed features can be viewed in the <a href="https://docs.gitlab.com/ee/update/deprecations.html">GitLab documentation</a>. To be notified of upcoming breaking changes, <a href="https://about.gitlab.com/breaking-changes.xml">subscribe to our Breaking Changes RSS feed</a>.</p> </p> </section> <section class=gray-section id=about-gitlab> <div class='release-row align-top'> <div class=column> <h3 id=changelog> <a class=header-link href='#changelog'> <i class='fas fa-link'></i> </a> Changelog </h3> <p> Please check out the changelog to see all the named changes: <ul> <li> <a href='https://gitlab.com/gitlab-org/gitlab-foss/blob/master/CHANGELOG.md' target=_blank title=GitLab>GitLab</a> </li> <li> <a href='https://gitlab.com/gitlab-org/gitlab-runner/blob/main/CHANGELOG.md' target=_blank title='GitLab Runner'>GitLab Runner</a> </li> <li> <a href='https://gitlab.com/gitlab-org/gitlab-vscode-extension/-/blob/main/CHANGELOG.md' target=_blank title='GitLab Workflow for VS Code'>GitLab Workflow for VS Code</a> </li> <li> <a href='https://gitlab.com/gitlab-org/cli/-/releases' target=_blank title='GitLab CLI'>GitLab CLI</a> </li> </ul> </p> <h3 id=installing> <a class=header-link href='#installing'> <i class='fas fa-link'></i> </a> Installing </h3> <p> If you are setting up a new GitLab installation please see the <a href='/install/'>download GitLab page.</a> </p> <h3 id=updating> <a class=header-link href='#updating'> <i class='fas fa-link'></i> </a> Updating </h3> <p> Check out our <a href='/update/'>update page.</a> </p> </div> <div class=column> <h3 id=gitlab-products> <a class=header-link href='#gitlab-products'> <i class='fas fa-link'></i> </a> GitLab Subscription Plans </h3> <p> See what your team could do with The DevSecOps Platform. </p> <ul> <li> <a data-ga-location='release post footer' data-ga-name='Try GitLab for free' href='https://about.gitlab.com/pricing/' target=_blank title='GitLab Pricing'>Free</a> <p>Free-forever features for individual users</p> </li> <li> <a data-ga-location='release post footer' data-ga-name='GitLab Premium' href='https://about.gitlab.com/pricing/premium/' target=_blank title='GitLab Premium'>Premium</a> <p>Enhance team productivity and coordination</p> </li> <li> <a data-ga-location='release post footer' data-ga-name='GitLab Ultimate' href='https://about.gitlab.com/pricing/ultimate/' target=_blank title='GitLab Ultimate'>Ultimate</a> <p>Organization wide security, compliance, and planning</p> </li> </ul> <p> Try all GitLab features - <a href='https://about.gitlab.com/free-trial/' title='GitLab Free Trial'>free for 30 days</a> </p> </div> </div> </section> </div> <div class=social> <div class='share-butons clearfix'> <a class='share-btn share-btn-facebook' href='http://www.facebook.com/sharer.php?u=https://about.gitlab.com/releases/gitlab-com/' onclick='openSocialLink(this, 500, 400); return false;' target=_blank> <i class='fab fa-facebook'></i> <span class=sr-only> Share on Facebook </span> </a> <a class='share-btn share-btn-twitter' href='http://twitter.com/share?url=https://about.gitlab.com/releases/gitlab-com/&text=Available now on GitLab' onclick='openSocialLink(this, 500, 400); return false;' target=_blank> <i class='fab fa-twitter'></i> <span class=sr-only> Share on Twitter </span> </a> <a class='share-btn share-btn-linkedin' href='https://www.linkedin.com/shareArticle?mini=true&url=https://about.gitlab.com/releases/gitlab-com/&title=Available now on GitLab&summary=&source=' onclick='openSocialLink(this, 500, 400); return false;' target=_blank> <i class='fab fa-linkedin'></i> <span class=sr-only> Share on LinkedIn </span> </a> <a class='share-btn share-btn-hackernews' href='https://news.ycombinator.com/submitlink?u=https://about.gitlab.com/releases/gitlab-com/&t=Available now on GitLab' onclick='openSocialLink(this, 500, 400); return false;' target=_blank> <i class='fab fa-hacker-news'></i> <span class=sr-only> Share on Hacker News </span> </a> </div> </div> </div> <div class='wrapper signup'> <div class="panel panel-default nl panel-newsletter-signup"> <div class=row> <div class="col-12 newsletter"> <div class=newsletter-form style="margin: 32px 0"> <span class=newsletter-preamble> Sign up for GitLab's monthly newsletter </span> <script src="//page.gitlab.com/js/forms2/js/forms2.min.js"></script> <form id=mktoForm_1077 style="display: initial"></form> <script> MktoForms2.setOptions( { formXDPath : "/rs/194-VVC-221/images/marketo-xdframe-relative.html" }); MktoForms2.loadForm("//page.gitlab.com", "194-VVC-221", 1077, function(form) { form.onSuccess(function(values, followUpUrl) { dataLayer.push( { 'event' : 'mktoLead', 'mktoFormId' : form.getId(), 'eventCallback' : function() { form.getFormElem().hide(); document.getElementById('confirmform').style.display = 'block'; }, 'eventTimeout' : 3000 }); return false; }); function getgacid() { try { var tracker = ga.getAll()[0]; return tracker.get('clientId'); } catch (e) { return 'n/a'; } } form.vals({ 'gacid': getgacid() }); }); </script> <div id=confirmform class=confirm-message style="display:none;"><p>Thanks for subscribing!</p></div> </div> </div> </div> </div> </div> <div class=gitlab-trial> <div class=gitlab-trial__wrapper> <div class=gitlab-trial__left-side> <h2> Take GitLab for a spin </h2> <p> See what your team could do with The DevSecOps Platform. </p> <a href="https://gitlab.com/-/trials/new?glm_content=default-saas-trial&glm_source=about.gitlab.com" class="btn cta-btn" data-ga-name="free trial" data-ga-location="try partial">Get free trial</a> </div> <div class=gitlab-trial__right-side> <img src="/images/cta/gitlab-enterprise-team-member-photos.png" alt=""/> <p> Have a question? We're here to help. </p> <a class=sales-cta href='https://about.gitlab.com/sales/'> Talk to an expert </a> </div> </div> </div> </div> <script async='' src='/javascripts/bootstrap-tooltip.js'></script> </body> </html> <div style='display: none'> <a href="https://gitlab.com/-/ide/project/gitlab-com/www-gitlab-com/edit/master/-/sites/uncategorized/source/releases/gitlab-com/template.html.haml" id=hidden-web-ide>Edit this page</a> <a href="https://gitlab.com/gitlab-com/www-gitlab-com/blob/master/sites/uncategorized/source/releases/gitlab-com/template.html.haml" id=hidden-page-source>View source</a> </div> <footer id=global-footer> <slp-footer></slp-footer> </footer> <script src='/javascripts/be-footer.js?cacheBust=fd2bae4c'></script> <script src="/javascripts/libs/jquery.min.js?cacheBust=fd2bae4c"></script> <script src="/javascripts/libs/jquery-migrate-3.3.0.min.js?cacheBust=fd2bae4c"></script> <script src="/javascripts/libs/bootstrap.min.js?cacheBust=fd2bae4c"></script> <script src="/javascripts/libs/jqBootstrapValidation.js?cacheBust=fd2bae4c"></script> <script src="/javascripts/scripts.js?cacheBust=fd2bae4c"></script> <script> //<![CDATA[ $.ajax({ url: '//munchkin.marketo.net/munchkin.js', dataType: 'script', cache: true, success: function() { Munchkin.init('194-VVC-221'); } }); //]]> </script> <script defer=true src='/javascripts/cbextras.js'></script> </body> </html>