CINXE.COM

GitHub Changelog

<!doctype html> <html lang="en-US" class="mt-0"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="profile" href="https://gmpg.org/xfn/11"> <link rel="icon" type="image/x-icon" href="https://github.githubassets.com/favicon.ico"> <meta name='robots' content='index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1' /> <style>img:is([sizes="auto" i], [sizes^="auto," i]) { contain-intrinsic-size: 3000px 1500px }</style> <!-- This site is optimized with the Yoast SEO Premium plugin v24.4 (Yoast SEO v24.4) - https://yoast.com/wordpress/plugins/seo/ --> <title>GitHub Changelog</title> <link rel="canonical" href="https://github.blog/changelog/" /> <link rel="next" href="https://github.blog/changelog/page/2/" /> <meta property="og:locale" content="en_US" /> <meta property="og:type" content="website" /> <meta property="og:title" content="GitHub Changelog" /> <meta property="og:url" content="https://github.blog/changelog/" /> <meta property="og:site_name" content="The GitHub Blog" /> <meta name="twitter:card" content="summary_large_image" /> <script type="application/ld+json" class="yoast-schema-graph">{"@context":"https://schema.org","@graph":[{"@type":"CollectionPage","@id":"https://github.blog/changelog/","url":"https://github.blog/changelog/","name":"Changelogs Archive - The GitHub Blog","isPartOf":{"@id":"https://github.blog/#website"},"breadcrumb":{"@id":"https://github.blog/changelog/#breadcrumb"},"inLanguage":"en-US"},{"@type":"BreadcrumbList","@id":"https://github.blog/changelog/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://github.blog/"},{"@type":"ListItem","position":2,"name":"Changelogs"}]},{"@type":"WebSite","@id":"https://github.blog/#website","url":"https://github.blog/","name":"The GitHub Blog","description":"Updates, ideas, and inspiration from GitHub to help developers build and design software.","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://github.blog/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}</script> <!-- / Yoast SEO Premium plugin. --> <link rel='dns-prefetch' href='//ghcc.githubassets.com' /> <link rel='dns-prefetch' href='//js.monitor.azure.com' /> <link rel='dns-prefetch' href='//analytics.githubassets.com' /> <link rel='dns-prefetch' href='//stats.wp.com' /> <link rel='dns-prefetch' href='//v0.wordpress.com' /> <link rel="alternate" type="application/rss+xml" title="The GitHub Blog &raquo; Feed" href="https://github.blog/feed/" /> <link rel="alternate" type="application/rss+xml" title="The GitHub Blog &raquo; Comments Feed" href="https://github.blog/comments/feed/" /> <link rel="alternate" type="application/rss+xml" title="The GitHub Blog &raquo; Changelogs Feed" href="https://github.blog/changelog/feed/" /> <script> window._wpemojiSettings = {"baseUrl":"https:\/\/s.w.org\/images\/core\/emoji\/15.0.3\/72x72\/","ext":".png","svgUrl":"https:\/\/s.w.org\/images\/core\/emoji\/15.0.3\/svg\/","svgExt":".svg","source":{"concatemoji":"https:\/\/github.blog\/wp-includes\/js\/wp-emoji-release.min.js?ver=6.7.2"}}; /*! This file is auto-generated */ !function(i,n){var o,s,e;function c(e){try{var t={supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(o,JSON.stringify(t))}catch(e){}}function p(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var t=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data),r=(e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0),new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data));return t.every(function(e,t){return e===r[t]})}function u(e,t,n){switch(t){case"flag":return n(e,"\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f","\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f")?!1:!n(e,"\ud83c\uddfa\ud83c\uddf3","\ud83c\uddfa\u200b\ud83c\uddf3")&&!n(e,"\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f","\ud83c\udff4\u200b\udb40\udc67\u200b\udb40\udc62\u200b\udb40\udc65\u200b\udb40\udc6e\u200b\udb40\udc67\u200b\udb40\udc7f");case"emoji":return!n(e,"\ud83d\udc26\u200d\u2b1b","\ud83d\udc26\u200b\u2b1b")}return!1}function f(e,t,n){var r="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):i.createElement("canvas"),a=r.getContext("2d",{willReadFrequently:!0}),o=(a.textBaseline="top",a.font="600 32px Arial",{});return e.forEach(function(e){o[e]=t(a,e,n)}),o}function t(e){var t=i.createElement("script");t.src=e,t.defer=!0,i.head.appendChild(t)}"undefined"!=typeof Promise&&(o="wpEmojiSettingsSupports",s=["flag","emoji"],n.supports={everything:!0,everythingExceptFlag:!0},e=new Promise(function(e){i.addEventListener("DOMContentLoaded",e,{once:!0})}),new Promise(function(t){var n=function(){try{var e=JSON.parse(sessionStorage.getItem(o));if("object"==typeof e&&"number"==typeof e.timestamp&&(new Date).valueOf()<e.timestamp+604800&&"object"==typeof e.supportTests)return e.supportTests}catch(e){}return null}();if(!n){if("undefined"!=typeof Worker&&"undefined"!=typeof OffscreenCanvas&&"undefined"!=typeof URL&&URL.createObjectURL&&"undefined"!=typeof Blob)try{var e="postMessage("+f.toString()+"("+[JSON.stringify(s),u.toString(),p.toString()].join(",")+"));",r=new Blob([e],{type:"text/javascript"}),a=new Worker(URL.createObjectURL(r),{name:"wpTestEmojiSupports"});return void(a.onmessage=function(e){c(n=e.data),a.terminate(),t(n)})}catch(e){}c(n=f(s,u,p))}t(n)}).then(function(e){for(var t in e)n.supports[t]=e[t],n.supports.everything=n.supports.everything&&n.supports[t],"flag"!==t&&(n.supports.everythingExceptFlag=n.supports.everythingExceptFlag&&n.supports[t]);n.supports.everythingExceptFlag=n.supports.everythingExceptFlag&&!n.supports.flag,n.DOMReady=!1,n.readyCallback=function(){n.DOMReady=!0}}).then(function(){return e}).then(function(){var e;n.supports.everything||(n.readyCallback(),(e=n.source||{}).concatemoji?t(e.concatemoji):e.wpemoji&&e.twemoji&&(t(e.twemoji),t(e.wpemoji)))}))}((window,document),window._wpemojiSettings); </script> <style id='wp-emoji-styles-inline-css'> img.wp-smiley, img.emoji { display: inline !important; border: none !important; box-shadow: none !important; height: 1em !important; width: 1em !important; margin: 0 0.07em !important; vertical-align: -0.1em !important; background: none !important; padding: 0 !important; } </style> <link rel='stylesheet' id='all-css-2' href='https://github.blog/wp-includes/css/dist/block-library/style.min.css?m=1739294329g' type='text/css' media='all' /> <style id='co-authors-plus-coauthors-style-inline-css'> .wp-block-co-authors-plus-coauthors.is-layout-flow [class*=wp-block-co-authors-plus]{display:inline} </style> <style id='co-authors-plus-avatar-style-inline-css'> .wp-block-co-authors-plus-avatar :where(img){height:auto;max-width:100%;vertical-align:bottom}.wp-block-co-authors-plus-coauthors.is-layout-flow .wp-block-co-authors-plus-avatar :where(img){vertical-align:middle}.wp-block-co-authors-plus-avatar:is(.alignleft,.alignright){display:table}.wp-block-co-authors-plus-avatar.aligncenter{display:table;margin-inline:auto} </style> <style id='co-authors-plus-image-style-inline-css'> .wp-block-co-authors-plus-image{margin-bottom:0}.wp-block-co-authors-plus-image :where(img){height:auto;max-width:100%;vertical-align:bottom}.wp-block-co-authors-plus-coauthors.is-layout-flow .wp-block-co-authors-plus-image :where(img){vertical-align:middle}.wp-block-co-authors-plus-image:is(.alignfull,.alignwide) :where(img){width:100%}.wp-block-co-authors-plus-image:is(.alignleft,.alignright){display:table}.wp-block-co-authors-plus-image.aligncenter{display:table;margin-inline:auto} </style> <style id='safe-svg-svg-icon-style-inline-css'> .safe-svg-cover{text-align:center}.safe-svg-cover .safe-svg-inside{display:inline-block;max-width:100%}.safe-svg-cover svg{height:100%;max-height:100%;max-width:100%;width:100%} </style> <style id='jetpack-sharing-buttons-style-inline-css'> .jetpack-sharing-buttons__services-list{display:flex;flex-direction:row;flex-wrap:wrap;gap:0;list-style-type:none;margin:5px;padding:0}.jetpack-sharing-buttons__services-list.has-small-icon-size{font-size:12px}.jetpack-sharing-buttons__services-list.has-normal-icon-size{font-size:16px}.jetpack-sharing-buttons__services-list.has-large-icon-size{font-size:24px}.jetpack-sharing-buttons__services-list.has-huge-icon-size{font-size:36px}@media print{.jetpack-sharing-buttons__services-list{display:none!important}}.editor-styles-wrapper .wp-block-jetpack-sharing-buttons{gap:0;padding-inline-start:0}ul.jetpack-sharing-buttons__services-list.has-background{padding:1.25em 2.375em} </style> <style id='classic-theme-styles-inline-css'> /*! This file is auto-generated */ .wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none} </style> <style id='global-styles-inline-css'> :root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgba(255,105,0,1) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgba(255, 255, 255, 1), 6px 6px rgba(0, 0, 0, 1);--wp--preset--shadow--crisp: 6px 6px 0px rgba(0, 0, 0, 1);}:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;} :where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;} :where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;} :root :where(.wp-block-pullquote){font-size: 1.5em;line-height: 1.6;} </style> <link rel='stylesheet' id='all-css-20' href='https://github.blog/_static/??/wp-content/plugins/wp-menu-image/assets/css/wmi-front-style.css,/wp-content/themes/github-2021/dist/css/site-script.css?m=1739868816' type='text/css' media='all' /> <link rel="https://api.w.org/" href="https://github.blog/wp-json/" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://github.blog/xmlrpc.php?rsd" /> <meta name="generator" content="WordPress 6.7.2" /> <style>img#wpstats{display:none}</style> <meta name="ha-url" content="https://collector.githubapp.com/github-blog/collect"><link rel="preload" href="https://github.blog/wp-content/themes/github-2021/dist/fonts/alliance/Alliance-No-1-ExtraBold.woff2" as="font" type="font/woff2" crossorigin="anonymous"><link rel="preload" href="https://github.blog/wp-content/themes/github-2021/dist/fonts/alliance/Alliance-No-1-Bold.woff2" as="font" type="font/woff2" crossorigin="anonymous"><link rel="preload" href="https://github.blog/wp-content/themes/github-2021/dist/fonts/alliance/Alliance-No-1-SemiBold.woff2" as="font" type="font/woff2" crossorigin="anonymous"><link rel="preload" href="https://github.blog/wp-content/themes/github-2021/dist/fonts/alliance/Alliance-No-1-Regular.woff2" as="font" type="font/woff2" crossorigin="anonymous"><link rel="icon" href="https://github.blog/wp-content/uploads/2019/01/cropped-github-favicon-512.png?fit=32%2C32" sizes="32x32" /> <link rel="icon" href="https://github.blog/wp-content/uploads/2019/01/cropped-github-favicon-512.png?fit=192%2C192" sizes="192x192" /> <link rel="apple-touch-icon" href="https://github.blog/wp-content/uploads/2019/01/cropped-github-favicon-512.png?fit=180%2C180" /> <meta name="msapplication-TileImage" content="https://github.blog/wp-content/uploads/2019/01/cropped-github-favicon-512.png?fit=270%2C270" /> </head> <body class="archive post-type-archive post-type-archive-changelog font-mktg hfeed no-sidebar"> <div data-color-mode="dark" data-light-theme="light" data-dark-theme="dark_dimmed" class="pt-header pt-lg-0"> <header id="header" class="header position-fixed position-lg-static pb-lg-header z-4 top-0 left-0 right-0 d-flex flex-column flex-items-stretch color-bg-default"> <a href="#start-of-content" class="p-3 color-bg-accent-emphasis color-fg-on-emphasis show-on-focus"> Skip to content </a> <div class="position-relative container-xl width-full mx-auto p-responsive-blog"> <div class="d-flex flex-items-center flex-justify-between pt-3 pb-3 color-fg-default"> <a href="https://github.com" target="_blank" rel="noreferrer" aria-label="GitHub homepage" class="Header-link position-relative d-flex flex-items-center color-fg-default"> <svg aria-hidden="true" role="presentation" class="nav-back-arrow position-absolute d-block" viewBox="0 0 24 24" width="32" height="32" fill="currentColor"><path fill-rule="evenodd" d="M15.28 5.22a.75.75 0 00-1.06 0l-6.25 6.25a.75.75 0 000 1.06l6.25 6.25a.75.75 0 101.06-1.06L9.56 12l5.72-5.72a.75.75 0 000-1.06z"></path></svg> <svg aria-hidden="true" role="img" class="octicon octicon-mark-github d-block" viewBox="0 0 16 16" width="32" height="32" fill="currentColor"><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"></path></svg> </a> <span class="d-inline-block ml-2 f1-mktg f2-md-mktg" style="opacity: 0.3;">/</span> <a class="d-inline-block Header-link font-weight-semibold ml-2 f2 color-fg-default" href="https://github.blog/"> Blog</a> <nav class="d-none d-lg-block" aria-label="Secondary navigation"> <ul id="secondary-navigation" class="secondary-navigation flex-items-center flex-nowrap list-style-none ml-4" aria-hidden="false"><li id="menu-item-78809"><a href="https://github.blog/changelog/" class="position-relative d-flex flex-items-center flex-start no-wrap py-2 px-4 f4 lh-condensed-ultra Link--secondary color-fg-default text-medium">Changelog</a></li> <li id="menu-item-78810"><a href="https://docs.github.com/" class="position-relative d-flex flex-items-center flex-start no-wrap py-2 px-4 f4 lh-condensed-ultra Link--secondary color-fg-default text-medium">Docs<svg viewBox="0 0 16 16" width="16" height="16" class="octicon octicon-chevron-down position-absolute right-0 d-block ml-1 mt-1" role="presentation"><path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path></svg></a></li> <li id="menu-item-78811"><a href="https://github.com/customer-stories" class="position-relative d-flex flex-items-center flex-start no-wrap py-2 px-4 f4 lh-condensed-ultra Link--secondary color-fg-default text-medium">Customer stories<svg viewBox="0 0 16 16" width="16" height="16" class="octicon octicon-chevron-down position-absolute right-0 d-block ml-1 mt-1" role="presentation"><path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path></svg></a></li> </ul></nav> <div class="d-none d-lg-flex flex-1"> <form id="desktop-search" class="desktop-search position-relative ml-lg-4 flex-1" action="https://github.blog" method="get" aria-hidden="true" aria-label="Search form" role="search"> <div class="position-relative d-flex flex-1 height-full color-bg-transparent" data-color-mode="light" data-light-theme="light" data-dark-theme="dark" > <input aria-label="Search the blog" type="search" class="p-2 pl-3 pr-6 border-0 rounded-2 flex-1" placeholder="Search the blog…" value="" name="s" id="search-input"> <button type="submit" class="position-absolute right-0 z-3 d-flex flex-items-center flex-justify-center flex-self-center mr-2 p-2 border-0 rounded-2 color-bg-transparent color-fg-subtle" aria-label="Search"> <svg viewBox="0 0 16 16" width="20" height="20" class="octicon octicon-search" role="presentation"><path fill-rule="evenodd" d="M11.5 7a4.499 4.499 0 11-8.998 0A4.499 4.499 0 0111.5 7zm-.82 4.74a6 6 0 111.06-1.06l3.04 3.04a.75.75 0 11-1.06 1.06l-3.04-3.04z"></path></svg> </button> </div> </form> <button aria-label="Toggle search" class="flex-self-center ml-auto p-2 border-0 color-bg-transparent color-fg-default rounded-3 js-toggle" aria-controls="desktop-search" aria-expanded="false" > <svg viewBox="0 0 24 24" width="24" height="24" class="octicon octicon-search" role="presentation"><path d="M10.25 2a8.25 8.25 0 0 1 6.34 13.53l5.69 5.69a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215l-5.69-5.69A8.25 8.25 0 1 1 10.25 2ZM3.5 10.25a6.75 6.75 0 1 0 13.5 0 6.75 6.75 0 0 0-13.5 0Z"></path></svg> <svg viewBox="2 2 20 20" width="24" height="24" class="octicon octicon-x" role="presentation"><path d="M5.72 5.72a.75.75 0 0 1 1.06 0L12 10.94l5.22-5.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L13.06 12l5.22 5.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L12 13.06l-5.22 5.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L10.94 12 5.72 6.78a.75.75 0 0 1 0-1.06Z"></path></svg> </button> <a data-analytics-click="Blog, click on button, text: Use Copilot for free; ref_location:top nav;" class="btn-mktg font-weight-semibold ml-3 js-header-cta header-cta" href="https://github.com/features/copilot?utm_source=topnav&#038;utm_medium=blog&#038;utm_campaign=copilotfree" target="_blank" > Use Copilot for free </a> <a data-analytics-click="Blog, click on button, text: Contact sales; ref_location:top nav;" class="btn-mktg font-weight-semibold ml-3 js-header-cta header-cta btn-muted-mktg" href="https://github.com/enterprise/contact?ref_cta=contact20sales&#038;ref_loc=banner&#038;ref_page=blog" target="_blank" > Contact sales </a> </div> <div class="d-flex d-lg-none flex-items-center flex-1 mr-n2"> <button aria-label="Toggle search" class="ml-auto p-2 border-0 color-bg-transparent color-fg-default rounded-3 js-toggle" aria-controls="mobile-search" aria-expanded="false" > <svg viewBox="0 0 24 24" width="24" height="24" class="octicon octicon-search" role="presentation"><path d="M10.25 2a8.25 8.25 0 0 1 6.34 13.53l5.69 5.69a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215l-5.69-5.69A8.25 8.25 0 1 1 10.25 2ZM3.5 10.25a6.75 6.75 0 1 0 13.5 0 6.75 6.75 0 0 0-13.5 0Z"></path></svg> <svg viewBox="2 2 20 20" width="24" height="24" class="octicon octicon-x" role="presentation"><path d="M5.72 5.72a.75.75 0 0 1 1.06 0L12 10.94l5.22-5.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L13.06 12l5.22 5.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L12 13.06l-5.22 5.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L10.94 12 5.72 6.78a.75.75 0 0 1 0-1.06Z"></path></svg> </button> <button aria-label="Toggle menu" class="ml-2 p-2 border-0 color-bg-transparent color-fg-default rounded-3 js-toggle" aria-controls="mobile-menu" aria-expanded="false" data-trap-focus="#header"> <svg viewBox="0 0 16 16" width="24" height="24" class="octicon octicon-three-bars" role="presentation"><path d="M1 2.75A.75.75 0 0 1 1.75 2h12.5a.75.75 0 0 1 0 1.5H1.75A.75.75 0 0 1 1 2.75Zm0 5A.75.75 0 0 1 1.75 7h12.5a.75.75 0 0 1 0 1.5H1.75A.75.75 0 0 1 1 7.75ZM1.75 12h12.5a.75.75 0 0 1 0 1.5H1.75a.75.75 0 0 1 0-1.5Z"></path></svg> <svg viewBox="2 2 20 20" width="24" height="24" class="octicon octicon-x " role="presentation"><path d="M5.72 5.72a.75.75 0 0 1 1.06 0L12 10.94l5.22-5.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L13.06 12l5.22 5.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L12 13.06l-5.22 5.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L10.94 12 5.72 6.78a.75.75 0 0 1 0-1.06Z"></path></svg> </button> </div> </div> </div> <div class="position-relative pb-lg-navigation" data-sticky-navigation=".sticky-navigation"> <nav aria-label="Primary navigation" class="sticky-navigation position-absolute z-4 top-0 left-0 d-none d-lg-block width-full color-border-subtle color-bg-default"> <div class="position-relative container-xl width-full mx-auto p-responsive-blog"> <ul id="primary-navigation" class="primary-navigation position-relative d-flex flex-row flex-nowrap flex-grow-0 flex-justify-between list-style-none"><li id="menu-item-78814"><a href="https://github.blog/ai-and-ml/" class="position-relative d-flex flex-items-center flex-start no-wrap py-3 f4-mktg text-bold js-toggle" aria-controls="primary-78814-dropdown" aria-expanded="false" aria-haspopup="true" role="button">AI &amp; ML<svg viewBox="0 0 16 16" width="16" height="16" class="octicon d-block ml-1 mt-1 color-fg-muted" role="presentation"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></a> <ul class="dropdown d-flex flex-wrap width-full position-absolute left-0 list-style-none mt-2 rounded-3 z-3 overflow-hidden color-border-subtle" aria-label="AI &amp; ML sub-menu" aria-hidden="true" data-color-mode="light" data-dark-theme="dark" data-light-theme="light" id="primary-78814-dropdown" tabindex="-1"> <li id="menu-item-78863" class="flex-1 p-5 py-xl-7 px-xl-7"><div class="col-9 mb-4 mb-lg-7"><a href="https://github.blog/ai-and-ml/" class="d-flex flex-items-center flex-start f3 lh-condensed color-fg-default text-bold">AI &amp; ML<svg viewBox="0 0 16 16" width="16" height="16" class="octicon octicon-chevron-right ml-1 mt-1" role="presentation"><path d="M6.22 3.22a.75.75 0 0 1 1.06 0l4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L9.94 8 6.22 4.28a.75.75 0 0 1 0-1.06Z"></path></svg></a><p class="mt-1 my-0 f4 color-fg-muted">Learn about artificial intelligence and machine learning across the GitHub ecosystem and the wider industry.</p></div> <ul class="d-flex flex-wrap list-style-none" aria-label="AI &amp; ML sub-menu"> <li id="menu-item-78815" class="col-6 d-block f4 color-fg-default color-border-subtle pr-4 pr-lg-8 border-right"><a href="https://github.blog/ai-and-ml/generative-ai/" class="d-block f4 color-fg-default text-bold">Generative AI</a><p class="mb-0 f5 color-fg-muted">Learn how to build with generative AI.</p></li> <li id="menu-item-78816" class="col-6 d-block f4 color-fg-default color-border-subtle pl-4 pl-lg-8"><a href="https://github.blog/ai-and-ml/github-copilot/" class="d-block f4 color-fg-default text-bold">GitHub Copilot</a><p class="mb-0 f5 color-fg-muted">Change how you work with GitHub Copilot.</p></li> <li id="menu-item-78817" class="col-6 d-block f4 color-fg-default color-border-subtle pr-4 pr-lg-8 border-right pt-2 pt-lg-4"><a href="https://github.blog/ai-and-ml/llms/" class="d-block f4 color-fg-default text-bold">LLMs</a><p class="mb-0 f5 color-fg-muted">Everything developers need to know about LLMs.</p></li> <li id="menu-item-78818" class="col-6 d-block f4 color-fg-default color-border-subtle pl-4 pl-lg-8 pt-2 pt-lg-4"><a href="https://github.blog/ai-and-ml/machine-learning/" class="d-block f4 color-fg-default text-bold">Machine learning</a><p class="mb-0 f5 color-fg-muted">Machine learning tips, tricks, and best practices.</p></li> </ul> </li> <li id="menu-item-78864" class="p-5 py-xl-7 px-xl-8 col-4 color-bg-subtle card"><div class="d-block position-relative mb-3 rounded-2 tease-thumbnail overflow-hidden"><img width="800" height="425" src="https://github.blog/wp-content/uploads/2024/06/AI-DarkMode-4.png?resize=800%2C425" class="tease-thumbnail__img d-block width-full height-auto aspect-ratio-1032-548 object-fit-cover" alt="" decoding="async" fetchpriority="high" srcset="https://github.blog/wp-content/uploads/2024/06/AI-DarkMode-4.png?w=300 300w, https://github.blog/wp-content/uploads/2024/06/AI-DarkMode-4.png?w=800 800w, https://github.blog/wp-content/uploads/2024/06/AI-DarkMode-4.png?w=400 400w, https://github.blog/wp-content/uploads/2024/06/AI-DarkMode-4.png?w=1032 1032w, https://github.blog/wp-content/uploads/2024/06/AI-DarkMode-4.png?w=516 516w" sizes="(max-width: 800px) 100vw, 800px" /></div><a href="https://github.blog/ai-and-ml/generative-ai/how-ai-code-generation-works/" class="d-block mb-2 f3 lh-condensed color-fg-default text-bold card__link">How AI code generation works</a><p class="mb-3 f5 color-fg-muted">Explore the capabilities and benefits of AI code generation and how it can improve your developer experience.</p><span class="Link d-inline-flex flex-items-center" role="presentation">Learn more<svg xmlns="http://www.w3.org/2000/svg" class="octicon d-block ml-1 mt-1" viewBox="0 0 12 12" width="12" height="12"><path d="M4.7 10c-.2 0-.4-.1-.5-.2-.3-.3-.3-.8 0-1.1L6.9 6 4.2 3.3c-.3-.3-.3-.8 0-1.1.3-.3.8-.3 1.1 0l3.3 3.2c.3.3.3.8 0 1.1L5.3 9.7c-.2.2-.4.3-.6.3Z"></path></svg></span></li> </ul> </li> <li id="menu-item-78819"><a href="https://github.blog/developer-skills/" class="position-relative d-flex flex-items-center flex-start no-wrap py-3 f4-mktg text-bold js-toggle" aria-controls="primary-78819-dropdown" aria-expanded="false" aria-haspopup="true" role="button">Developer skills<svg viewBox="0 0 16 16" width="16" height="16" class="octicon d-block ml-1 mt-1 color-fg-muted" role="presentation"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></a> <ul class="dropdown d-flex flex-wrap width-full position-absolute left-0 list-style-none mt-2 rounded-3 z-3 overflow-hidden color-border-subtle" aria-label="Developer skills sub-menu" aria-hidden="true" data-color-mode="light" data-dark-theme="dark" data-light-theme="light" id="primary-78819-dropdown" tabindex="-1"> <li id="menu-item-78865" class="flex-1 p-5 py-xl-7 px-xl-7"><div class="col-9 mb-4 mb-lg-7"><a href="https://github.blog/developer-skills/" class="d-flex flex-items-center flex-start f3 lh-condensed color-fg-default text-bold">Developer skills<svg viewBox="0 0 16 16" width="16" height="16" class="octicon octicon-chevron-right ml-1 mt-1" role="presentation"><path d="M6.22 3.22a.75.75 0 0 1 1.06 0l4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L9.94 8 6.22 4.28a.75.75 0 0 1 0-1.06Z"></path></svg></a><p class="mt-1 my-0 f4 color-fg-muted">Resources for developers to grow in their skills and careers.</p></div> <ul class="d-flex flex-wrap list-style-none" aria-label="Developer skills sub-menu"> <li id="menu-item-78820" class="col-6 d-block f4 color-fg-default color-border-subtle pr-4 pr-lg-8 border-right"><a href="https://github.blog/developer-skills/application-development/" class="d-block f4 color-fg-default text-bold">Application development</a><p class="mb-0 f5 color-fg-muted">Insights and best practices for building apps.</p></li> <li id="menu-item-78821" class="col-6 d-block f4 color-fg-default color-border-subtle pl-4 pl-lg-8"><a href="https://github.blog/developer-skills/career-growth/" class="d-block f4 color-fg-default text-bold">Career growth</a><p class="mb-0 f5 color-fg-muted">Tips &amp; tricks to grow as a professional developer.</p></li> <li id="menu-item-78822" class="col-6 d-block f4 color-fg-default color-border-subtle pr-4 pr-lg-8 border-right pt-2 pt-lg-4"><a href="https://github.blog/developer-skills/github/" class="d-block f4 color-fg-default text-bold">GitHub</a><p class="mb-0 f5 color-fg-muted">Improve how you use GitHub at work.</p></li> <li id="menu-item-78823" class="col-6 d-block f4 color-fg-default color-border-subtle pl-4 pl-lg-8 pt-2 pt-lg-4"><a href="https://github.blog/developer-skills/github-education/" class="d-block f4 color-fg-default text-bold">GitHub Education</a><p class="mb-0 f5 color-fg-muted">Learn how to move into your first professional role.</p></li> <li id="menu-item-78824" class="col-6 d-block f4 color-fg-default color-border-subtle pr-4 pr-lg-8 border-right pt-2 pt-lg-4"><a href="https://github.blog/developer-skills/programming-languages-and-frameworks/" class="d-block f4 color-fg-default text-bold">Programming languages &amp; frameworks</a><p class="mb-0 f5 color-fg-muted">Stay current on what’s new (or new again).</p></li> </ul> </li> <li id="menu-item-78866" class="p-5 py-xl-7 px-xl-8 col-4 color-bg-subtle card"><div class="d-block position-relative mb-3 rounded-2 tease-thumbnail overflow-hidden"><img width="800" height="425" src="https://github.blog/wp-content/uploads/2024/05/Enterprise-DarkMode-3.png?resize=800%2C425" class="tease-thumbnail__img d-block width-full height-auto aspect-ratio-1032-548 object-fit-cover" alt="" decoding="async" srcset="https://github.blog/wp-content/uploads/2024/05/Enterprise-DarkMode-3.png?w=300 300w, https://github.blog/wp-content/uploads/2024/05/Enterprise-DarkMode-3.png?w=800 800w, https://github.blog/wp-content/uploads/2024/05/Enterprise-DarkMode-3.png?w=400 400w, https://github.blog/wp-content/uploads/2024/05/Enterprise-DarkMode-3.png?w=1032 1032w, https://github.blog/wp-content/uploads/2024/05/Enterprise-DarkMode-3.png?w=516 516w" sizes="(max-width: 800px) 100vw, 800px" /></div><a href="https://docs.github.com/en/get-started" class="d-block mb-2 f3 lh-condensed color-fg-default text-bold card__link">Get started with GitHub documentation</a><p class="mb-3 f5 color-fg-muted">Learn how to start building, shipping, and maintaining software with GitHub.</p><span class="Link d-inline-flex flex-items-center" role="presentation">Learn more<svg xmlns="http://www.w3.org/2000/svg" class="octicon d-block ml-1 mt-1" viewBox="0 0 12 12" width="12" height="12"><path d="M4.7 10c-.2 0-.4-.1-.5-.2-.3-.3-.3-.8 0-1.1L6.9 6 4.2 3.3c-.3-.3-.3-.8 0-1.1.3-.3.8-.3 1.1 0l3.3 3.2c.3.3.3.8 0 1.1L5.3 9.7c-.2.2-.4.3-.6.3Z"></path></svg></span></li> </ul> </li> <li id="menu-item-78825"><a href="https://github.blog/engineering/" class="position-relative d-flex flex-items-center flex-start no-wrap py-3 f4-mktg text-bold js-toggle" aria-controls="primary-78825-dropdown" aria-expanded="false" aria-haspopup="true" role="button">Engineering<svg viewBox="0 0 16 16" width="16" height="16" class="octicon d-block ml-1 mt-1 color-fg-muted" role="presentation"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></a> <ul class="dropdown d-flex flex-wrap width-full position-absolute left-0 list-style-none mt-2 rounded-3 z-3 overflow-hidden color-border-subtle" aria-label="Engineering sub-menu" aria-hidden="true" data-color-mode="light" data-dark-theme="dark" data-light-theme="light" id="primary-78825-dropdown" tabindex="-1"> <li id="menu-item-78867" class="flex-1 p-5 py-xl-7 px-xl-7"><div class="col-9 mb-4 mb-lg-7"><a href="https://github.blog/engineering/" class="d-flex flex-items-center flex-start f3 lh-condensed color-fg-default text-bold">Engineering<svg viewBox="0 0 16 16" width="16" height="16" class="octicon octicon-chevron-right ml-1 mt-1" role="presentation"><path d="M6.22 3.22a.75.75 0 0 1 1.06 0l4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L9.94 8 6.22 4.28a.75.75 0 0 1 0-1.06Z"></path></svg></a><p class="mt-1 my-0 f4 color-fg-muted">Get an inside look at how we’re building the home for all developers.</p></div> <ul class="d-flex flex-wrap list-style-none" aria-label="Engineering sub-menu"> <li id="menu-item-78827" class="col-6 d-block f4 color-fg-default color-border-subtle pr-4 pr-lg-8 border-right"><a href="https://github.blog/engineering/architecture-optimization/" class="d-block f4 color-fg-default text-bold">Architecture &amp; optimization</a><p class="mb-0 f5 color-fg-muted">Discover how we deliver a performant and highly available experience across the GitHub platform.</p></li> <li id="menu-item-78828" class="col-6 d-block f4 color-fg-default color-border-subtle pl-4 pl-lg-8"><a href="https://github.blog/engineering/engineering-principles/" class="d-block f4 color-fg-default text-bold">Engineering principles</a><p class="mb-0 f5 color-fg-muted">Explore best practices for building software at scale with a majority remote team.</p></li> <li id="menu-item-78829" class="col-6 d-block f4 color-fg-default color-border-subtle pr-4 pr-lg-8 border-right pt-2 pt-lg-4"><a href="https://github.blog/engineering/infrastructure/" class="d-block f4 color-fg-default text-bold">Infrastructure</a><p class="mb-0 f5 color-fg-muted">Get a glimpse at the technology underlying the world’s leading AI-powered developer platform.</p></li> <li id="menu-item-78830" class="col-6 d-block f4 color-fg-default color-border-subtle pl-4 pl-lg-8 pt-2 pt-lg-4"><a href="https://github.blog/engineering/platform-security/" class="d-block f4 color-fg-default text-bold">Platform security</a><p class="mb-0 f5 color-fg-muted">Learn how we build security into everything we do across the developer lifecycle.</p></li> <li id="menu-item-78858" class="col-6 d-block f4 color-fg-default color-border-subtle pr-4 pr-lg-8 border-right pt-2 pt-lg-4"><a href="https://github.blog/engineering/user-experience/" class="d-block f4 color-fg-default text-bold">User experience</a><p class="mb-0 f5 color-fg-muted">Find out what goes into making GitHub the home for all developers.</p></li> </ul> </li> <li id="menu-item-78868" class="p-5 py-xl-7 px-xl-8 col-4 color-bg-subtle card"><div class="d-block position-relative mb-3 rounded-2 tease-thumbnail overflow-hidden"><img width="800" height="425" src="https://github.blog/wp-content/uploads/2024/07/Screenshot-2024-07-23-at-8.42.45 AM.png?resize=800%2C425" class="tease-thumbnail__img d-block width-full height-auto aspect-ratio-1032-548 object-fit-cover" alt="" decoding="async" srcset="https://github.blog/wp-content/uploads/2024/07/Screenshot-2024-07-23-at-8.42.45 AM.png?w=800 800w, https://github.blog/wp-content/uploads/2024/07/Screenshot-2024-07-23-at-8.42.45 AM.png?w=400 400w, https://github.blog/wp-content/uploads/2024/07/Screenshot-2024-07-23-at-8.42.45 AM.png?w=1032 1032w, https://github.blog/wp-content/uploads/2024/07/Screenshot-2024-07-23-at-8.42.45 AM.png?w=516 516w" sizes="(max-width: 800px) 100vw, 800px" /></div><a href="https://github.blog/engineering/how-we-use-github-to-be-more-productive-collaborative-and-secure/" class="d-block mb-2 f3 lh-condensed color-fg-default text-bold card__link">How we use GitHub to be more productive, collaborative, and secure</a><p class="mb-3 f5 color-fg-muted">Our engineering and security teams do some incredible work. Let’s take a look at how we use GitHub to be more productive, build collaboratively, and shift security left.</p><span class="Link d-inline-flex flex-items-center" role="presentation">Learn more<svg xmlns="http://www.w3.org/2000/svg" class="octicon d-block ml-1 mt-1" viewBox="0 0 12 12" width="12" height="12"><path d="M4.7 10c-.2 0-.4-.1-.5-.2-.3-.3-.3-.8 0-1.1L6.9 6 4.2 3.3c-.3-.3-.3-.8 0-1.1.3-.3.8-.3 1.1 0l3.3 3.2c.3.3.3.8 0 1.1L5.3 9.7c-.2.2-.4.3-.6.3Z"></path></svg></span></li> </ul> </li> <li id="menu-item-78832"><a href="https://github.blog/enterprise-software/" class="position-relative d-flex flex-items-center flex-start no-wrap py-3 f4-mktg text-bold js-toggle" aria-controls="primary-78832-dropdown" aria-expanded="false" aria-haspopup="true" role="button">Enterprise software<svg viewBox="0 0 16 16" width="16" height="16" class="octicon d-block ml-1 mt-1 color-fg-muted" role="presentation"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></a> <ul class="dropdown d-flex flex-wrap width-full position-absolute left-0 list-style-none mt-2 rounded-3 z-3 overflow-hidden color-border-subtle" aria-label="Enterprise software sub-menu" aria-hidden="true" data-color-mode="light" data-dark-theme="dark" data-light-theme="light" id="primary-78832-dropdown" tabindex="-1"> <li id="menu-item-78869" class="flex-1 p-5 py-xl-7 px-xl-7"><div class="col-9 mb-4 mb-lg-7"><a href="https://github.blog/enterprise-software/" class="d-flex flex-items-center flex-start f3 lh-condensed color-fg-default text-bold">Enterprise software<svg viewBox="0 0 16 16" width="16" height="16" class="octicon octicon-chevron-right ml-1 mt-1" role="presentation"><path d="M6.22 3.22a.75.75 0 0 1 1.06 0l4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L9.94 8 6.22 4.28a.75.75 0 0 1 0-1.06Z"></path></svg></a><p class="mt-1 my-0 f4 color-fg-muted">Explore how to write, build, and deploy enterprise software at scale.</p></div> <ul class="d-flex flex-wrap list-style-none" aria-label="Enterprise software sub-menu"> <li id="menu-item-78833" class="col-6 d-block f4 color-fg-default color-border-subtle pr-4 pr-lg-8 border-right"><a href="https://github.blog/enterprise-software/automation/" class="d-block f4 color-fg-default text-bold">Automation</a><p class="mb-0 f5 color-fg-muted">Automating your way to faster and more secure ships.</p></li> <li id="menu-item-78834" class="col-6 d-block f4 color-fg-default color-border-subtle pl-4 pl-lg-8"><a href="https://github.blog/enterprise-software/ci-cd/" class="d-block f4 color-fg-default text-bold">CI/CD</a><p class="mb-0 f5 color-fg-muted">Guides on continuous integration and delivery.</p></li> <li id="menu-item-78835" class="col-6 d-block f4 color-fg-default color-border-subtle pr-4 pr-lg-8 border-right pt-2 pt-lg-4"><a href="https://github.blog/enterprise-software/collaboration/" class="d-block f4 color-fg-default text-bold">Collaboration</a><p class="mb-0 f5 color-fg-muted">Tips, tools, and tricks to improve developer collaboration.</p></li> <li id="menu-item-78836" class="col-6 d-block f4 color-fg-default color-border-subtle pl-4 pl-lg-8 pt-2 pt-lg-4"><a href="https://github.blog/enterprise-software/devops/" class="d-block f4 color-fg-default text-bold">DevOps</a><p class="mb-0 f5 color-fg-muted">DevOps resources for enterprise engineering teams.</p></li> <li id="menu-item-78837" class="col-6 d-block f4 color-fg-default color-border-subtle pr-4 pr-lg-8 border-right pt-2 pt-lg-4"><a href="https://github.blog/enterprise-software/devsecops/" class="d-block f4 color-fg-default text-bold">DevSecOps</a><p class="mb-0 f5 color-fg-muted">How to integrate security into the SDLC.</p></li> <li id="menu-item-78838" class="col-6 d-block f4 color-fg-default color-border-subtle pl-4 pl-lg-8 pt-2 pt-lg-4"><a href="https://github.blog/enterprise-software/governance-and-compliance/" class="d-block f4 color-fg-default text-bold">Governance &amp; compliance</a><p class="mb-0 f5 color-fg-muted">Ensuring your builds stay clean.</p></li> </ul> </li> <li id="menu-item-78870" class="p-5 py-xl-7 px-xl-8 col-4 color-bg-subtle card"><div class="d-block position-relative mb-3 rounded-2 tease-thumbnail overflow-hidden"><img width="800" height="425" src="https://github.blog/wp-content/uploads/2024/07/Screenshot-2024-07-23-at-8.43.47 AM.png?resize=800%2C425" class="tease-thumbnail__img d-block width-full height-auto aspect-ratio-1032-548 object-fit-cover" alt="" decoding="async" srcset="https://github.blog/wp-content/uploads/2024/07/Screenshot-2024-07-23-at-8.43.47 AM.png?w=800 800w, https://github.blog/wp-content/uploads/2024/07/Screenshot-2024-07-23-at-8.43.47 AM.png?w=400 400w, https://github.blog/wp-content/uploads/2024/07/Screenshot-2024-07-23-at-8.43.47 AM.png?w=1032 1032w, https://github.blog/wp-content/uploads/2024/07/Screenshot-2024-07-23-at-8.43.47 AM.png?w=516 516w" sizes="(max-width: 800px) 100vw, 800px" /></div><a href="https://resources.github.com/artificial-intelligence/how-enterprise-engineering-teams-can-successfully-adopt-ai/" class="d-block mb-2 f3 lh-condensed color-fg-default text-bold card__link">How enterprise engineering teams can successfully adopt AI</a><p class="mb-3 f5 color-fg-muted">Learn how to bring AI to your engineering teams and maximize the value that you get from it.</p><span class="Link d-inline-flex flex-items-center" role="presentation">Learn more<svg xmlns="http://www.w3.org/2000/svg" class="octicon d-block ml-1 mt-1" viewBox="0 0 12 12" width="12" height="12"><path d="M4.7 10c-.2 0-.4-.1-.5-.2-.3-.3-.3-.8 0-1.1L6.9 6 4.2 3.3c-.3-.3-.3-.8 0-1.1.3-.3.8-.3 1.1 0l3.3 3.2c.3.3.3.8 0 1.1L5.3 9.7c-.2.2-.4.3-.6.3Z"></path></svg></span></li> </ul> </li> <li id="menu-item-78840"><a href="https://github.blog/news-insights/" class="position-relative d-flex flex-items-center flex-start no-wrap py-3 f4-mktg text-bold js-toggle" aria-controls="primary-78840-dropdown" aria-expanded="false" aria-haspopup="true" role="button">News &amp; insights<svg viewBox="0 0 16 16" width="16" height="16" class="octicon d-block ml-1 mt-1 color-fg-muted" role="presentation"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></a> <ul class="dropdown d-flex flex-wrap width-full position-absolute left-0 list-style-none mt-2 rounded-3 z-3 overflow-hidden color-border-subtle" aria-label="News &amp; insights sub-menu" aria-hidden="true" data-color-mode="light" data-dark-theme="dark" data-light-theme="light" id="primary-78840-dropdown" tabindex="-1"> <li id="menu-item-78871" class="flex-1 p-5 py-xl-7 px-xl-7"><div class="col-9 mb-4 mb-lg-7"><a href="https://github.blog/news-insights/" class="d-flex flex-items-center flex-start f3 lh-condensed color-fg-default text-bold">News &amp; insights<svg viewBox="0 0 16 16" width="16" height="16" class="octicon octicon-chevron-right ml-1 mt-1" role="presentation"><path d="M6.22 3.22a.75.75 0 0 1 1.06 0l4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L9.94 8 6.22 4.28a.75.75 0 0 1 0-1.06Z"></path></svg></a><p class="mt-1 my-0 f4 color-fg-muted">Keep up with what’s new and notable from inside GitHub.</p></div> <ul class="d-flex flex-wrap list-style-none" aria-label="News &amp; insights sub-menu"> <li id="menu-item-78841" class="col-6 d-block f4 color-fg-default color-border-subtle pr-4 pr-lg-8 border-right"><a href="https://github.blog/news-insights/company-news/" class="d-block f4 color-fg-default text-bold">Company news</a><p class="mb-0 f5 color-fg-muted">An inside look at news and product updates from GitHub.</p></li> <li id="menu-item-78844" class="col-6 d-block f4 color-fg-default color-border-subtle pl-4 pl-lg-8"><a href="https://github.blog/news-insights/product-news/" class="d-block f4 color-fg-default text-bold">Product</a><p class="mb-0 f5 color-fg-muted">The latest on GitHub’s platform, products, and tools.</p></li> <li id="menu-item-78842" class="col-6 d-block f4 color-fg-default color-border-subtle pr-4 pr-lg-8 border-right pt-2 pt-lg-4"><a href="https://github.blog/news-insights/octoverse/" class="d-block f4 color-fg-default text-bold">Octoverse</a><p class="mb-0 f5 color-fg-muted">Insights into the state of open source on GitHub.</p></li> <li id="menu-item-78843" class="col-6 d-block f4 color-fg-default color-border-subtle pl-4 pl-lg-8 pt-2 pt-lg-4"><a href="https://github.blog/news-insights/policy-news-and-insights/" class="d-block f4 color-fg-default text-bold">Policy</a><p class="mb-0 f5 color-fg-muted">The latest policy and regulatory changes in software.</p></li> <li id="menu-item-78845" class="col-6 d-block f4 color-fg-default color-border-subtle pr-4 pr-lg-8 border-right pt-2 pt-lg-4"><a href="https://github.blog/news-insights/research/" class="d-block f4 color-fg-default text-bold">Research</a><p class="mb-0 f5 color-fg-muted">Data-driven insights around the developer ecosystem.</p></li> <li id="menu-item-78847" class="col-6 d-block f4 color-fg-default color-border-subtle pl-4 pl-lg-8 pt-2 pt-lg-4"><a href="https://github.blog/news-insights/the-library/" class="d-block f4 color-fg-default text-bold">The library</a><p class="mb-0 f5 color-fg-muted">Older news and updates from GitHub.</p></li> </ul> </li> <li id="menu-item-78872" class="p-5 py-xl-7 px-xl-8 col-4 color-bg-subtle card"><div class="d-block position-relative mb-3 rounded-2 tease-thumbnail overflow-hidden"><img width="800" height="425" src="https://github.blog/wp-content/uploads/2024/07/Screenshot-2024-07-23-at-8.44.23 AM.png?resize=800%2C425" class="tease-thumbnail__img d-block width-full height-auto aspect-ratio-1032-548 object-fit-cover" alt="" decoding="async" srcset="https://github.blog/wp-content/uploads/2024/07/Screenshot-2024-07-23-at-8.44.23 AM.png?w=300 300w, https://github.blog/wp-content/uploads/2024/07/Screenshot-2024-07-23-at-8.44.23 AM.png?w=800 800w, https://github.blog/wp-content/uploads/2024/07/Screenshot-2024-07-23-at-8.44.23 AM.png?w=400 400w, https://github.blog/wp-content/uploads/2024/07/Screenshot-2024-07-23-at-8.44.23 AM.png?w=1032 1032w, https://github.blog/wp-content/uploads/2024/07/Screenshot-2024-07-23-at-8.44.23 AM.png?w=516 516w" sizes="(max-width: 800px) 100vw, 800px" /></div><a href="https://github.blog/ai-and-ml/llms/unlocking-the-power-of-unstructured-data-with-rag/" class="d-block mb-2 f3 lh-condensed color-fg-default text-bold card__link">Unlocking the power of unstructured data with RAG</a><p class="mb-3 f5 color-fg-muted">Learn how to use retrieval-augmented generation (RAG) to capture more insights.</p><span class="Link d-inline-flex flex-items-center" role="presentation">Learn more<svg xmlns="http://www.w3.org/2000/svg" class="octicon d-block ml-1 mt-1" viewBox="0 0 12 12" width="12" height="12"><path d="M4.7 10c-.2 0-.4-.1-.5-.2-.3-.3-.3-.8 0-1.1L6.9 6 4.2 3.3c-.3-.3-.3-.8 0-1.1.3-.3.8-.3 1.1 0l3.3 3.2c.3.3.3.8 0 1.1L5.3 9.7c-.2.2-.4.3-.6.3Z"></path></svg></span></li> </ul> </li> <li id="menu-item-78848"><a href="https://github.blog/open-source/" class="position-relative d-flex flex-items-center flex-start no-wrap py-3 f4-mktg text-bold js-toggle" aria-controls="primary-78848-dropdown" aria-expanded="false" aria-haspopup="true" role="button">Open Source<svg viewBox="0 0 16 16" width="16" height="16" class="octicon d-block ml-1 mt-1 color-fg-muted" role="presentation"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></a> <ul class="dropdown d-flex flex-wrap width-full position-absolute left-0 list-style-none mt-2 rounded-3 z-3 overflow-hidden color-border-subtle" aria-label="Open Source sub-menu" aria-hidden="true" data-color-mode="light" data-dark-theme="dark" data-light-theme="light" id="primary-78848-dropdown" tabindex="-1"> <li id="menu-item-78873" class="flex-1 p-5 py-xl-7 px-xl-7"><div class="col-9 mb-4 mb-lg-7"><a href="https://github.blog/open-source/" class="d-flex flex-items-center flex-start f3 lh-condensed color-fg-default text-bold">Open Source<svg viewBox="0 0 16 16" width="16" height="16" class="octicon octicon-chevron-right ml-1 mt-1" role="presentation"><path d="M6.22 3.22a.75.75 0 0 1 1.06 0l4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L9.94 8 6.22 4.28a.75.75 0 0 1 0-1.06Z"></path></svg></a><p class="mt-1 my-0 f4 color-fg-muted">Everything open source on GitHub.</p></div> <ul class="d-flex flex-wrap list-style-none" aria-label="Open Source sub-menu"> <li id="menu-item-78851" class="col-6 d-block f4 color-fg-default color-border-subtle pr-4 pr-lg-8 border-right"><a href="https://github.blog/open-source/git/" class="d-block f4 color-fg-default text-bold">Git</a><p class="mb-0 f5 color-fg-muted">The latest Git updates.</p></li> <li id="menu-item-78853" class="col-6 d-block f4 color-fg-default color-border-subtle pl-4 pl-lg-8"><a href="https://github.blog/open-source/maintainers/" class="d-block f4 color-fg-default text-bold">Maintainers</a><p class="mb-0 f5 color-fg-muted">Spotlighting open source maintainers.</p></li> <li id="menu-item-78854" class="col-6 d-block f4 color-fg-default color-border-subtle pr-4 pr-lg-8 border-right pt-2 pt-lg-4"><a href="https://github.blog/open-source/social-impact/" class="d-block f4 color-fg-default text-bold">Social impact</a><p class="mb-0 f5 color-fg-muted">How open source is driving positive change.</p></li> <li id="menu-item-78850" class="col-6 d-block f4 color-fg-default color-border-subtle pl-4 pl-lg-8 pt-2 pt-lg-4"><a href="https://github.blog/open-source/gaming/" class="d-block f4 color-fg-default text-bold">Gaming</a><p class="mb-0 f5 color-fg-muted">Explore open source games on GitHub.</p></li> </ul> </li> <li id="menu-item-78874" class="p-5 py-xl-7 px-xl-8 col-4 color-bg-subtle card"><div class="d-block position-relative mb-3 rounded-2 tease-thumbnail overflow-hidden"><img width="800" height="425" src="https://github.blog/wp-content/uploads/2024/07/Screenshot-2024-07-23-at-8.46.23 AM.png?resize=800%2C425" class="tease-thumbnail__img d-block width-full height-auto aspect-ratio-1032-548 object-fit-cover" alt="" decoding="async" srcset="https://github.blog/wp-content/uploads/2024/07/Screenshot-2024-07-23-at-8.46.23 AM.png?w=800 800w, https://github.blog/wp-content/uploads/2024/07/Screenshot-2024-07-23-at-8.46.23 AM.png?w=400 400w, https://github.blog/wp-content/uploads/2024/07/Screenshot-2024-07-23-at-8.46.23 AM.png?w=1032 1032w, https://github.blog/wp-content/uploads/2024/07/Screenshot-2024-07-23-at-8.46.23 AM.png?w=516 516w" sizes="(max-width: 800px) 100vw, 800px" /></div><a href="https://resources.github.com/software-development/innersource/" class="d-block mb-2 f3 lh-condensed color-fg-default text-bold card__link">An introduction to innersource</a><p class="mb-3 f5 color-fg-muted">Organizations worldwide are incorporating open source methodologies into the way they build and ship their own software.</p><span class="Link d-inline-flex flex-items-center" role="presentation">Learn more<svg xmlns="http://www.w3.org/2000/svg" class="octicon d-block ml-1 mt-1" viewBox="0 0 12 12" width="12" height="12"><path d="M4.7 10c-.2 0-.4-.1-.5-.2-.3-.3-.3-.8 0-1.1L6.9 6 4.2 3.3c-.3-.3-.3-.8 0-1.1.3-.3.8-.3 1.1 0l3.3 3.2c.3.3.3.8 0 1.1L5.3 9.7c-.2.2-.4.3-.6.3Z"></path></svg></span></li> </ul> </li> <li id="menu-item-78859"><a href="https://github.blog/security/" class="position-relative d-flex flex-items-center flex-start no-wrap py-3 f4-mktg text-bold js-toggle" aria-controls="primary-78859-dropdown" aria-expanded="false" aria-haspopup="true" role="button">Security<svg viewBox="0 0 16 16" width="16" height="16" class="octicon d-block ml-1 mt-1 color-fg-muted" role="presentation"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></a> <ul class="dropdown d-flex flex-wrap width-full position-absolute left-0 list-style-none mt-2 rounded-3 z-3 overflow-hidden color-border-subtle" aria-label="Security sub-menu" aria-hidden="true" data-color-mode="light" data-dark-theme="dark" data-light-theme="light" id="primary-78859-dropdown" tabindex="-1"> <li id="menu-item-78875" class="flex-1 p-5 py-xl-7 px-xl-7"><div class="col-9 mb-4 mb-lg-7"><a href="https://github.blog/security/" class="d-flex flex-items-center flex-start f3 lh-condensed color-fg-default text-bold">Security<svg viewBox="0 0 16 16" width="16" height="16" class="octicon octicon-chevron-right ml-1 mt-1" role="presentation"><path d="M6.22 3.22a.75.75 0 0 1 1.06 0l4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L9.94 8 6.22 4.28a.75.75 0 0 1 0-1.06Z"></path></svg></a><p class="mt-1 my-0 f4 color-fg-muted">Stay up to date on everything security.</p></div> <ul class="d-flex flex-wrap list-style-none" aria-label="Security sub-menu"> <li id="menu-item-78860" class="col-6 d-block f4 color-fg-default color-border-subtle pr-4 pr-lg-8 border-right"><a href="https://github.blog/security/application-security/" class="d-block f4 color-fg-default text-bold">Application security</a><p class="mb-0 f5 color-fg-muted">Application security, explained.</p></li> <li id="menu-item-78861" class="col-6 d-block f4 color-fg-default color-border-subtle pl-4 pl-lg-8"><a href="https://github.blog/security/supply-chain-security/" class="d-block f4 color-fg-default text-bold">Supply chain security</a><p class="mb-0 f5 color-fg-muted">Demystifying supply chain security.</p></li> <li id="menu-item-78855" class="col-6 d-block f4 color-fg-default color-border-subtle pr-4 pr-lg-8 border-right pt-2 pt-lg-4"><a href="https://github.blog/security/vulnerability-research/" class="d-block f4 color-fg-default text-bold">Vulnerability research</a><p class="mb-0 f5 color-fg-muted">Updates from the GitHub Security Lab.</p></li> <li id="menu-item-78862" class="col-6 d-block f4 color-fg-default color-border-subtle pl-4 pl-lg-8 pt-2 pt-lg-4"><a href="https://github.blog/security/web-application-security/" class="d-block f4 color-fg-default text-bold">Web application security</a><p class="mb-0 f5 color-fg-muted">Helpful tips on securing web applications.</p></li> </ul> </li> <li id="menu-item-78876" class="p-5 py-xl-7 px-xl-8 col-4 color-bg-subtle card"><div class="d-block position-relative mb-3 rounded-2 tease-thumbnail overflow-hidden"><img width="800" height="425" src="https://github.blog/wp-content/uploads/2024/07/Screenshot-2024-07-23-at-8.47.04 AM.png?resize=800%2C425" class="tease-thumbnail__img d-block width-full height-auto aspect-ratio-1032-548 object-fit-cover" alt="" decoding="async" srcset="https://github.blog/wp-content/uploads/2024/07/Screenshot-2024-07-23-at-8.47.04 AM.png?w=800 800w, https://github.blog/wp-content/uploads/2024/07/Screenshot-2024-07-23-at-8.47.04 AM.png?w=400 400w, https://github.blog/wp-content/uploads/2024/07/Screenshot-2024-07-23-at-8.47.04 AM.png?w=1032 1032w, https://github.blog/wp-content/uploads/2024/07/Screenshot-2024-07-23-at-8.47.04 AM.png?w=516 516w" sizes="(max-width: 800px) 100vw, 800px" /></div><a href="https://resources.github.com/security/the-enterprise-guide-to-ai-powered-devsecops/" class="d-block mb-2 f3 lh-condensed color-fg-default text-bold card__link">The enterprise guide to AI-powered DevSecOps</a><p class="mb-3 f5 color-fg-muted">Learn about core challenges in DevSecOps, and how you can start addressing them with AI and automation.</p><span class="Link d-inline-flex flex-items-center" role="presentation">Learn more<svg xmlns="http://www.w3.org/2000/svg" class="octicon d-block ml-1 mt-1" viewBox="0 0 12 12" width="12" height="12"><path d="M4.7 10c-.2 0-.4-.1-.5-.2-.3-.3-.3-.8 0-1.1L6.9 6 4.2 3.3c-.3-.3-.3-.8 0-1.1.3-.3.8-.3 1.1 0l3.3 3.2c.3.3.3.8 0 1.1L5.3 9.7c-.2.2-.4.3-.6.3Z"></path></svg></span></li> </ul> </li> </ul> </div> </nav> </div> <form id="mobile-search" role="search" method="get" class="mobile-search" action="https://github.blog" aria-hidden="true" aria-label="Search form"> <div class="d-flex flex-1 p-3 color-bg-inset"> <div class="d-flex flex-1 position-relative color-bg-transparent" data-color-mode="light" data-light-theme="light" data-dark-theme="dark" > <svg height="20" class="d-flex position-absolute z-3 octicon height-full ml-2 color-fg-subtle" aria-hidden="true" viewBox="0 0 16 16" version="1.1" width="20" role="img"><path fill-rule="evenodd" d="M11.5 7a4.499 4.499 0 11-8.998 0A4.499 4.499 0 0111.5 7zm-.82 4.74a6 6 0 111.06-1.06l3.04 3.04a.75.75 0 11-1.06 1.06l-3.04-3.04z"></path></svg> <input aria-label="Search the blog" type="search" class="pl-6 search-field form-control p-2 flex-1" placeholder="Search the blog…" value="" name="s" id="search-input"> </div> <button type="submit" class="btn-mktg btn-muted-mktg font-weight-semibold ml-2 border-1 color-fg-default"> Search </button> </div> </form> <nav id="mobile-menu" class="mobile-menu position-relative overflow-y-auto flex-1 width-full rounded-top-3" aria-label="Navigation menu" aria-hidden="true" data-color-mode="light" data-light-theme="light" data-dark-theme="dark_dimmed"> <div class="p-5"> <h2 class="mb-5 text-bold color-fg-subtle">Categories</h2> <ul id="menu-new-primary-navigation" class="list-style-none"><li class="mb-5"><a href="https://github.blog/ai-and-ml/" class="d-flex flex-items-center flex-justify-between lh-condensed-ultra text-bold color-fg-default js-toggle" aria-controls="primary-mobile-78814-dropdown" aria-expanded="false" aria-haspopup="true" role="button">AI &amp; ML<svg viewBox="0 0 16 16" width="16" height="16" class="octicon octicon-chevron-right d-block mt-1 color-fg-subtle" role="presentation"><path d="M6.22 3.22a.75.75 0 0 1 1.06 0l4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L9.94 8 6.22 4.28a.75.75 0 0 1 0-1.06Z"></path></svg></a> <ul aria-hidden="true" aria-label="AI &amp; ML sub-menu" class="dropdown overflow-y-auto position-absolute top-0 left-0 right-0 bottom-0 flex-wrap p-5 list-style-none rounded-3 z-3 color-bg-default color-border-subtle" id="primary-mobile-78814-dropdown"> <li class="mb-5"><div class="mb-4"><button type="button" class="d-flex flex-items-center mb-4 p-0 border-0 text-semibold color-bg-transparent color-fg-subtle" aria-controls="primary-mobile-78814-dropdown" aria-expanded="true"><svg viewBox="0 0 16 16" width="16" height="16" class="octicon octicon-chevron-left mr-1"><path d="M9.78 12.78a.75.75 0 0 1-1.06 0L4.47 8.53a.75.75 0 0 1 0-1.06l4.25-4.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L6.06 8l3.72 3.72a.75.75 0 0 1 0 1.06Z"></path></svg>Back</button><a href="https://github.blog/ai-and-ml/" class="d-flex flex-items-center flex-justify-start lh-condensed-ultra text-bold color-fg-default">AI &amp; ML<svg viewBox="0 0 16 16" width="16" height="16" class="octicon octicon-chevron-right ml-1 mt-1" role="presentation"><path d="M6.22 3.22a.75.75 0 0 1 1.06 0l4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L9.94 8 6.22 4.28a.75.75 0 0 1 0-1.06Z"></path></svg></a><p class="mt-2 mb-0 color-fg-muted">Learn about artificial intelligence and machine learning across the GitHub ecosystem and the wider industry.</p></div> <ul class="border-top list-style-none"> <li class="mt-4"><a href="https://github.blog/ai-and-ml/generative-ai/" class="text-bold lh-condensed-ultra color-fg-default">Generative AI</a><p class="mb-0 f5 color-fg-muted">Learn how to build with generative AI.</p></li> <li class="mt-4"><a href="https://github.blog/ai-and-ml/github-copilot/" class="text-bold lh-condensed-ultra color-fg-default">GitHub Copilot</a><p class="mb-0 f5 color-fg-muted">Change how you work with GitHub Copilot.</p></li> <li class="mt-4"><a href="https://github.blog/ai-and-ml/llms/" class="text-bold lh-condensed-ultra color-fg-default">LLMs</a><p class="mb-0 f5 color-fg-muted">Everything developers need to know about LLMs.</p></li> <li class="mt-4"><a href="https://github.blog/ai-and-ml/machine-learning/" class="text-bold lh-condensed-ultra color-fg-default">Machine learning</a><p class="mb-0 f5 color-fg-muted">Machine learning tips, tricks, and best practices.</p></li> </ul> </li> <li class="d-none"><div class="mb-4"><a href="https://github.blog/ai-and-ml/generative-ai/how-ai-code-generation-works/" class="d-flex flex-items-center flex-justify-start lh-condensed-ultra text-bold color-fg-default">How AI code generation works</a><p class="mb-3 f5 color-fg-muted">Explore the capabilities and benefits of AI code generation and how it can improve your developer experience.</p><a href="https://github.blog/ai-and-ml/generative-ai/how-ai-code-generation-works/" target="" class="Link d-inline-flex flex-items-center">Learn more<svg xmlns="http://www.w3.org/2000/svg" class="octicon d-block ml-1 mt-1" viewBox="0 0 12 12" width="12" height="12"><path d="M4.7 10c-.2 0-.4-.1-.5-.2-.3-.3-.3-.8 0-1.1L6.9 6 4.2 3.3c-.3-.3-.3-.8 0-1.1.3-.3.8-.3 1.1 0l3.3 3.2c.3.3.3.8 0 1.1L5.3 9.7c-.2.2-.4.3-.6.3Z"></path></svg></a></div></li> </ul> </li> <li class="mb-5"><a href="https://github.blog/developer-skills/" class="d-flex flex-items-center flex-justify-between lh-condensed-ultra text-bold color-fg-default js-toggle" aria-controls="primary-mobile-78819-dropdown" aria-expanded="false" aria-haspopup="true" role="button">Developer skills<svg viewBox="0 0 16 16" width="16" height="16" class="octicon octicon-chevron-right d-block mt-1 color-fg-subtle" role="presentation"><path d="M6.22 3.22a.75.75 0 0 1 1.06 0l4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L9.94 8 6.22 4.28a.75.75 0 0 1 0-1.06Z"></path></svg></a> <ul aria-hidden="true" aria-label="Developer skills sub-menu" class="dropdown overflow-y-auto position-absolute top-0 left-0 right-0 bottom-0 flex-wrap p-5 list-style-none rounded-3 z-3 color-bg-default color-border-subtle" id="primary-mobile-78819-dropdown"> <li class="mb-5"><div class="mb-4"><button type="button" class="d-flex flex-items-center mb-4 p-0 border-0 text-semibold color-bg-transparent color-fg-subtle" aria-controls="primary-mobile-78819-dropdown" aria-expanded="true"><svg viewBox="0 0 16 16" width="16" height="16" class="octicon octicon-chevron-left mr-1"><path d="M9.78 12.78a.75.75 0 0 1-1.06 0L4.47 8.53a.75.75 0 0 1 0-1.06l4.25-4.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L6.06 8l3.72 3.72a.75.75 0 0 1 0 1.06Z"></path></svg>Back</button><a href="https://github.blog/developer-skills/" class="d-flex flex-items-center flex-justify-start lh-condensed-ultra text-bold color-fg-default">Developer skills<svg viewBox="0 0 16 16" width="16" height="16" class="octicon octicon-chevron-right ml-1 mt-1" role="presentation"><path d="M6.22 3.22a.75.75 0 0 1 1.06 0l4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L9.94 8 6.22 4.28a.75.75 0 0 1 0-1.06Z"></path></svg></a><p class="mt-2 mb-0 color-fg-muted">Resources for developers to grow in their skills and careers.</p></div> <ul class="border-top list-style-none"> <li class="mt-4"><a href="https://github.blog/developer-skills/application-development/" class="text-bold lh-condensed-ultra color-fg-default">Application development</a><p class="mb-0 f5 color-fg-muted">Insights and best practices for building apps.</p></li> <li class="mt-4"><a href="https://github.blog/developer-skills/career-growth/" class="text-bold lh-condensed-ultra color-fg-default">Career growth</a><p class="mb-0 f5 color-fg-muted">Tips &amp; tricks to grow as a professional developer.</p></li> <li class="mt-4"><a href="https://github.blog/developer-skills/github/" class="text-bold lh-condensed-ultra color-fg-default">GitHub</a><p class="mb-0 f5 color-fg-muted">Improve how you use GitHub at work.</p></li> <li class="mt-4"><a href="https://github.blog/developer-skills/github-education/" class="text-bold lh-condensed-ultra color-fg-default">GitHub Education</a><p class="mb-0 f5 color-fg-muted">Learn how to move into your first professional role.</p></li> <li class="mt-4"><a href="https://github.blog/developer-skills/programming-languages-and-frameworks/" class="text-bold lh-condensed-ultra color-fg-default">Programming languages &amp; frameworks</a><p class="mb-0 f5 color-fg-muted">Stay current on what’s new (or new again).</p></li> </ul> </li> <li class="d-none"><div class="mb-4"><a href="https://docs.github.com/en/get-started" class="d-flex flex-items-center flex-justify-start lh-condensed-ultra text-bold color-fg-default">Get started with GitHub documentation</a><p class="mb-3 f5 color-fg-muted">Learn how to start building, shipping, and maintaining software with GitHub.</p><a href="https://docs.github.com/en/get-started" target="" class="Link d-inline-flex flex-items-center">Learn more<svg xmlns="http://www.w3.org/2000/svg" class="octicon d-block ml-1 mt-1" viewBox="0 0 12 12" width="12" height="12"><path d="M4.7 10c-.2 0-.4-.1-.5-.2-.3-.3-.3-.8 0-1.1L6.9 6 4.2 3.3c-.3-.3-.3-.8 0-1.1.3-.3.8-.3 1.1 0l3.3 3.2c.3.3.3.8 0 1.1L5.3 9.7c-.2.2-.4.3-.6.3Z"></path></svg></a></div></li> </ul> </li> <li class="mb-5"><a href="https://github.blog/engineering/" class="d-flex flex-items-center flex-justify-between lh-condensed-ultra text-bold color-fg-default js-toggle" aria-controls="primary-mobile-78825-dropdown" aria-expanded="false" aria-haspopup="true" role="button">Engineering<svg viewBox="0 0 16 16" width="16" height="16" class="octicon octicon-chevron-right d-block mt-1 color-fg-subtle" role="presentation"><path d="M6.22 3.22a.75.75 0 0 1 1.06 0l4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L9.94 8 6.22 4.28a.75.75 0 0 1 0-1.06Z"></path></svg></a> <ul aria-hidden="true" aria-label="Engineering sub-menu" class="dropdown overflow-y-auto position-absolute top-0 left-0 right-0 bottom-0 flex-wrap p-5 list-style-none rounded-3 z-3 color-bg-default color-border-subtle" id="primary-mobile-78825-dropdown"> <li class="mb-5"><div class="mb-4"><button type="button" class="d-flex flex-items-center mb-4 p-0 border-0 text-semibold color-bg-transparent color-fg-subtle" aria-controls="primary-mobile-78825-dropdown" aria-expanded="true"><svg viewBox="0 0 16 16" width="16" height="16" class="octicon octicon-chevron-left mr-1"><path d="M9.78 12.78a.75.75 0 0 1-1.06 0L4.47 8.53a.75.75 0 0 1 0-1.06l4.25-4.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L6.06 8l3.72 3.72a.75.75 0 0 1 0 1.06Z"></path></svg>Back</button><a href="https://github.blog/engineering/" class="d-flex flex-items-center flex-justify-start lh-condensed-ultra text-bold color-fg-default">Engineering<svg viewBox="0 0 16 16" width="16" height="16" class="octicon octicon-chevron-right ml-1 mt-1" role="presentation"><path d="M6.22 3.22a.75.75 0 0 1 1.06 0l4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L9.94 8 6.22 4.28a.75.75 0 0 1 0-1.06Z"></path></svg></a><p class="mt-2 mb-0 color-fg-muted">Get an inside look at how we’re building the home for all developers.</p></div> <ul class="border-top list-style-none"> <li class="mt-4"><a href="https://github.blog/engineering/architecture-optimization/" class="text-bold lh-condensed-ultra color-fg-default">Architecture &amp; optimization</a><p class="mb-0 f5 color-fg-muted">Discover how we deliver a performant and highly available experience across the GitHub platform.</p></li> <li class="mt-4"><a href="https://github.blog/engineering/engineering-principles/" class="text-bold lh-condensed-ultra color-fg-default">Engineering principles</a><p class="mb-0 f5 color-fg-muted">Explore best practices for building software at scale with a majority remote team.</p></li> <li class="mt-4"><a href="https://github.blog/engineering/infrastructure/" class="text-bold lh-condensed-ultra color-fg-default">Infrastructure</a><p class="mb-0 f5 color-fg-muted">Get a glimpse at the technology underlying the world’s leading AI-powered developer platform.</p></li> <li class="mt-4"><a href="https://github.blog/engineering/platform-security/" class="text-bold lh-condensed-ultra color-fg-default">Platform security</a><p class="mb-0 f5 color-fg-muted">Learn how we build security into everything we do across the developer lifecycle.</p></li> <li class="mt-4"><a href="https://github.blog/engineering/user-experience/" class="text-bold lh-condensed-ultra color-fg-default">User experience</a><p class="mb-0 f5 color-fg-muted">Find out what goes into making GitHub the home for all developers.</p></li> </ul> </li> <li class="d-none"><div class="mb-4"><a href="https://github.blog/engineering/how-we-use-github-to-be-more-productive-collaborative-and-secure/" class="d-flex flex-items-center flex-justify-start lh-condensed-ultra text-bold color-fg-default">How we use GitHub to be more productive, collaborative, and secure</a><p class="mb-3 f5 color-fg-muted">Our engineering and security teams do some incredible work. Let’s take a look at how we use GitHub to be more productive, build collaboratively, and shift security left.</p><a href="https://github.blog/engineering/how-we-use-github-to-be-more-productive-collaborative-and-secure/" target="" class="Link d-inline-flex flex-items-center">Learn more<svg xmlns="http://www.w3.org/2000/svg" class="octicon d-block ml-1 mt-1" viewBox="0 0 12 12" width="12" height="12"><path d="M4.7 10c-.2 0-.4-.1-.5-.2-.3-.3-.3-.8 0-1.1L6.9 6 4.2 3.3c-.3-.3-.3-.8 0-1.1.3-.3.8-.3 1.1 0l3.3 3.2c.3.3.3.8 0 1.1L5.3 9.7c-.2.2-.4.3-.6.3Z"></path></svg></a></div></li> </ul> </li> <li class="mb-5"><a href="https://github.blog/enterprise-software/" class="d-flex flex-items-center flex-justify-between lh-condensed-ultra text-bold color-fg-default js-toggle" aria-controls="primary-mobile-78832-dropdown" aria-expanded="false" aria-haspopup="true" role="button">Enterprise software<svg viewBox="0 0 16 16" width="16" height="16" class="octicon octicon-chevron-right d-block mt-1 color-fg-subtle" role="presentation"><path d="M6.22 3.22a.75.75 0 0 1 1.06 0l4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L9.94 8 6.22 4.28a.75.75 0 0 1 0-1.06Z"></path></svg></a> <ul aria-hidden="true" aria-label="Enterprise software sub-menu" class="dropdown overflow-y-auto position-absolute top-0 left-0 right-0 bottom-0 flex-wrap p-5 list-style-none rounded-3 z-3 color-bg-default color-border-subtle" id="primary-mobile-78832-dropdown"> <li class="mb-5"><div class="mb-4"><button type="button" class="d-flex flex-items-center mb-4 p-0 border-0 text-semibold color-bg-transparent color-fg-subtle" aria-controls="primary-mobile-78832-dropdown" aria-expanded="true"><svg viewBox="0 0 16 16" width="16" height="16" class="octicon octicon-chevron-left mr-1"><path d="M9.78 12.78a.75.75 0 0 1-1.06 0L4.47 8.53a.75.75 0 0 1 0-1.06l4.25-4.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L6.06 8l3.72 3.72a.75.75 0 0 1 0 1.06Z"></path></svg>Back</button><a href="https://github.blog/enterprise-software/" class="d-flex flex-items-center flex-justify-start lh-condensed-ultra text-bold color-fg-default">Enterprise software<svg viewBox="0 0 16 16" width="16" height="16" class="octicon octicon-chevron-right ml-1 mt-1" role="presentation"><path d="M6.22 3.22a.75.75 0 0 1 1.06 0l4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L9.94 8 6.22 4.28a.75.75 0 0 1 0-1.06Z"></path></svg></a><p class="mt-2 mb-0 color-fg-muted">Explore how to write, build, and deploy enterprise software at scale.</p></div> <ul class="border-top list-style-none"> <li class="mt-4"><a href="https://github.blog/enterprise-software/automation/" class="text-bold lh-condensed-ultra color-fg-default">Automation</a><p class="mb-0 f5 color-fg-muted">Automating your way to faster and more secure ships.</p></li> <li class="mt-4"><a href="https://github.blog/enterprise-software/ci-cd/" class="text-bold lh-condensed-ultra color-fg-default">CI/CD</a><p class="mb-0 f5 color-fg-muted">Guides on continuous integration and delivery.</p></li> <li class="mt-4"><a href="https://github.blog/enterprise-software/collaboration/" class="text-bold lh-condensed-ultra color-fg-default">Collaboration</a><p class="mb-0 f5 color-fg-muted">Tips, tools, and tricks to improve developer collaboration.</p></li> <li class="mt-4"><a href="https://github.blog/enterprise-software/devops/" class="text-bold lh-condensed-ultra color-fg-default">DevOps</a><p class="mb-0 f5 color-fg-muted">DevOps resources for enterprise engineering teams.</p></li> <li class="mt-4"><a href="https://github.blog/enterprise-software/devsecops/" class="text-bold lh-condensed-ultra color-fg-default">DevSecOps</a><p class="mb-0 f5 color-fg-muted">How to integrate security into the SDLC.</p></li> <li class="mt-4"><a href="https://github.blog/enterprise-software/governance-and-compliance/" class="text-bold lh-condensed-ultra color-fg-default">Governance &amp; compliance</a><p class="mb-0 f5 color-fg-muted">Ensuring your builds stay clean.</p></li> </ul> </li> <li class="d-none"><div class="mb-4"><a href="https://resources.github.com/artificial-intelligence/how-enterprise-engineering-teams-can-successfully-adopt-ai/" class="d-flex flex-items-center flex-justify-start lh-condensed-ultra text-bold color-fg-default">How enterprise engineering teams can successfully adopt AI</a><p class="mb-3 f5 color-fg-muted">Learn how to bring AI to your engineering teams and maximize the value that you get from it.</p><a href="https://resources.github.com/artificial-intelligence/how-enterprise-engineering-teams-can-successfully-adopt-ai/" target="" class="Link d-inline-flex flex-items-center">Learn more<svg xmlns="http://www.w3.org/2000/svg" class="octicon d-block ml-1 mt-1" viewBox="0 0 12 12" width="12" height="12"><path d="M4.7 10c-.2 0-.4-.1-.5-.2-.3-.3-.3-.8 0-1.1L6.9 6 4.2 3.3c-.3-.3-.3-.8 0-1.1.3-.3.8-.3 1.1 0l3.3 3.2c.3.3.3.8 0 1.1L5.3 9.7c-.2.2-.4.3-.6.3Z"></path></svg></a></div></li> </ul> </li> <li class="mb-5"><a href="https://github.blog/news-insights/" class="d-flex flex-items-center flex-justify-between lh-condensed-ultra text-bold color-fg-default js-toggle" aria-controls="primary-mobile-78840-dropdown" aria-expanded="false" aria-haspopup="true" role="button">News &amp; insights<svg viewBox="0 0 16 16" width="16" height="16" class="octicon octicon-chevron-right d-block mt-1 color-fg-subtle" role="presentation"><path d="M6.22 3.22a.75.75 0 0 1 1.06 0l4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L9.94 8 6.22 4.28a.75.75 0 0 1 0-1.06Z"></path></svg></a> <ul aria-hidden="true" aria-label="News &amp; insights sub-menu" class="dropdown overflow-y-auto position-absolute top-0 left-0 right-0 bottom-0 flex-wrap p-5 list-style-none rounded-3 z-3 color-bg-default color-border-subtle" id="primary-mobile-78840-dropdown"> <li class="mb-5"><div class="mb-4"><button type="button" class="d-flex flex-items-center mb-4 p-0 border-0 text-semibold color-bg-transparent color-fg-subtle" aria-controls="primary-mobile-78840-dropdown" aria-expanded="true"><svg viewBox="0 0 16 16" width="16" height="16" class="octicon octicon-chevron-left mr-1"><path d="M9.78 12.78a.75.75 0 0 1-1.06 0L4.47 8.53a.75.75 0 0 1 0-1.06l4.25-4.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L6.06 8l3.72 3.72a.75.75 0 0 1 0 1.06Z"></path></svg>Back</button><a href="https://github.blog/news-insights/" class="d-flex flex-items-center flex-justify-start lh-condensed-ultra text-bold color-fg-default">News &amp; insights<svg viewBox="0 0 16 16" width="16" height="16" class="octicon octicon-chevron-right ml-1 mt-1" role="presentation"><path d="M6.22 3.22a.75.75 0 0 1 1.06 0l4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L9.94 8 6.22 4.28a.75.75 0 0 1 0-1.06Z"></path></svg></a><p class="mt-2 mb-0 color-fg-muted">Keep up with what’s new and notable from inside GitHub.</p></div> <ul class="border-top list-style-none"> <li class="mt-4"><a href="https://github.blog/news-insights/company-news/" class="text-bold lh-condensed-ultra color-fg-default">Company news</a><p class="mb-0 f5 color-fg-muted">An inside look at news and product updates from GitHub.</p></li> <li class="mt-4"><a href="https://github.blog/news-insights/product-news/" class="text-bold lh-condensed-ultra color-fg-default">Product</a><p class="mb-0 f5 color-fg-muted">The latest on GitHub’s platform, products, and tools.</p></li> <li class="mt-4"><a href="https://github.blog/news-insights/octoverse/" class="text-bold lh-condensed-ultra color-fg-default">Octoverse</a><p class="mb-0 f5 color-fg-muted">Insights into the state of open source on GitHub.</p></li> <li class="mt-4"><a href="https://github.blog/news-insights/policy-news-and-insights/" class="text-bold lh-condensed-ultra color-fg-default">Policy</a><p class="mb-0 f5 color-fg-muted">The latest policy and regulatory changes in software.</p></li> <li class="mt-4"><a href="https://github.blog/news-insights/research/" class="text-bold lh-condensed-ultra color-fg-default">Research</a><p class="mb-0 f5 color-fg-muted">Data-driven insights around the developer ecosystem.</p></li> <li class="mt-4"><a href="https://github.blog/news-insights/the-library/" class="text-bold lh-condensed-ultra color-fg-default">The library</a><p class="mb-0 f5 color-fg-muted">Older news and updates from GitHub.</p></li> </ul> </li> <li class="d-none"><div class="mb-4"><a href="https://github.blog/ai-and-ml/llms/unlocking-the-power-of-unstructured-data-with-rag/" class="d-flex flex-items-center flex-justify-start lh-condensed-ultra text-bold color-fg-default">Unlocking the power of unstructured data with RAG</a><p class="mb-3 f5 color-fg-muted">Learn how to use retrieval-augmented generation (RAG) to capture more insights.</p><a href="https://github.blog/ai-and-ml/llms/unlocking-the-power-of-unstructured-data-with-rag/" target="" class="Link d-inline-flex flex-items-center">Learn more<svg xmlns="http://www.w3.org/2000/svg" class="octicon d-block ml-1 mt-1" viewBox="0 0 12 12" width="12" height="12"><path d="M4.7 10c-.2 0-.4-.1-.5-.2-.3-.3-.3-.8 0-1.1L6.9 6 4.2 3.3c-.3-.3-.3-.8 0-1.1.3-.3.8-.3 1.1 0l3.3 3.2c.3.3.3.8 0 1.1L5.3 9.7c-.2.2-.4.3-.6.3Z"></path></svg></a></div></li> </ul> </li> <li class="mb-5"><a href="https://github.blog/open-source/" class="d-flex flex-items-center flex-justify-between lh-condensed-ultra text-bold color-fg-default js-toggle" aria-controls="primary-mobile-78848-dropdown" aria-expanded="false" aria-haspopup="true" role="button">Open Source<svg viewBox="0 0 16 16" width="16" height="16" class="octicon octicon-chevron-right d-block mt-1 color-fg-subtle" role="presentation"><path d="M6.22 3.22a.75.75 0 0 1 1.06 0l4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L9.94 8 6.22 4.28a.75.75 0 0 1 0-1.06Z"></path></svg></a> <ul aria-hidden="true" aria-label="Open Source sub-menu" class="dropdown overflow-y-auto position-absolute top-0 left-0 right-0 bottom-0 flex-wrap p-5 list-style-none rounded-3 z-3 color-bg-default color-border-subtle" id="primary-mobile-78848-dropdown"> <li class="mb-5"><div class="mb-4"><button type="button" class="d-flex flex-items-center mb-4 p-0 border-0 text-semibold color-bg-transparent color-fg-subtle" aria-controls="primary-mobile-78848-dropdown" aria-expanded="true"><svg viewBox="0 0 16 16" width="16" height="16" class="octicon octicon-chevron-left mr-1"><path d="M9.78 12.78a.75.75 0 0 1-1.06 0L4.47 8.53a.75.75 0 0 1 0-1.06l4.25-4.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L6.06 8l3.72 3.72a.75.75 0 0 1 0 1.06Z"></path></svg>Back</button><a href="https://github.blog/open-source/" class="d-flex flex-items-center flex-justify-start lh-condensed-ultra text-bold color-fg-default">Open Source<svg viewBox="0 0 16 16" width="16" height="16" class="octicon octicon-chevron-right ml-1 mt-1" role="presentation"><path d="M6.22 3.22a.75.75 0 0 1 1.06 0l4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L9.94 8 6.22 4.28a.75.75 0 0 1 0-1.06Z"></path></svg></a><p class="mt-2 mb-0 color-fg-muted">Everything open source on GitHub.</p></div> <ul class="border-top list-style-none"> <li class="mt-4"><a href="https://github.blog/open-source/git/" class="text-bold lh-condensed-ultra color-fg-default">Git</a><p class="mb-0 f5 color-fg-muted">The latest Git updates.</p></li> <li class="mt-4"><a href="https://github.blog/open-source/maintainers/" class="text-bold lh-condensed-ultra color-fg-default">Maintainers</a><p class="mb-0 f5 color-fg-muted">Spotlighting open source maintainers.</p></li> <li class="mt-4"><a href="https://github.blog/open-source/social-impact/" class="text-bold lh-condensed-ultra color-fg-default">Social impact</a><p class="mb-0 f5 color-fg-muted">How open source is driving positive change.</p></li> <li class="mt-4"><a href="https://github.blog/open-source/gaming/" class="text-bold lh-condensed-ultra color-fg-default">Gaming</a><p class="mb-0 f5 color-fg-muted">Explore open source games on GitHub.</p></li> </ul> </li> <li class="d-none"><div class="mb-4"><a href="https://resources.github.com/software-development/innersource/" class="d-flex flex-items-center flex-justify-start lh-condensed-ultra text-bold color-fg-default">An introduction to innersource</a><p class="mb-3 f5 color-fg-muted">Organizations worldwide are incorporating open source methodologies into the way they build and ship their own software.</p><a href="https://resources.github.com/software-development/innersource/" target="" class="Link d-inline-flex flex-items-center">Learn more<svg xmlns="http://www.w3.org/2000/svg" class="octicon d-block ml-1 mt-1" viewBox="0 0 12 12" width="12" height="12"><path d="M4.7 10c-.2 0-.4-.1-.5-.2-.3-.3-.3-.8 0-1.1L6.9 6 4.2 3.3c-.3-.3-.3-.8 0-1.1.3-.3.8-.3 1.1 0l3.3 3.2c.3.3.3.8 0 1.1L5.3 9.7c-.2.2-.4.3-.6.3Z"></path></svg></a></div></li> </ul> </li> <li class="mb-5"><a href="https://github.blog/security/" class="d-flex flex-items-center flex-justify-between lh-condensed-ultra text-bold color-fg-default js-toggle" aria-controls="primary-mobile-78859-dropdown" aria-expanded="false" aria-haspopup="true" role="button">Security<svg viewBox="0 0 16 16" width="16" height="16" class="octicon octicon-chevron-right d-block mt-1 color-fg-subtle" role="presentation"><path d="M6.22 3.22a.75.75 0 0 1 1.06 0l4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L9.94 8 6.22 4.28a.75.75 0 0 1 0-1.06Z"></path></svg></a> <ul aria-hidden="true" aria-label="Security sub-menu" class="dropdown overflow-y-auto position-absolute top-0 left-0 right-0 bottom-0 flex-wrap p-5 list-style-none rounded-3 z-3 color-bg-default color-border-subtle" id="primary-mobile-78859-dropdown"> <li class="mb-5"><div class="mb-4"><button type="button" class="d-flex flex-items-center mb-4 p-0 border-0 text-semibold color-bg-transparent color-fg-subtle" aria-controls="primary-mobile-78859-dropdown" aria-expanded="true"><svg viewBox="0 0 16 16" width="16" height="16" class="octicon octicon-chevron-left mr-1"><path d="M9.78 12.78a.75.75 0 0 1-1.06 0L4.47 8.53a.75.75 0 0 1 0-1.06l4.25-4.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L6.06 8l3.72 3.72a.75.75 0 0 1 0 1.06Z"></path></svg>Back</button><a href="https://github.blog/security/" class="d-flex flex-items-center flex-justify-start lh-condensed-ultra text-bold color-fg-default">Security<svg viewBox="0 0 16 16" width="16" height="16" class="octicon octicon-chevron-right ml-1 mt-1" role="presentation"><path d="M6.22 3.22a.75.75 0 0 1 1.06 0l4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L9.94 8 6.22 4.28a.75.75 0 0 1 0-1.06Z"></path></svg></a><p class="mt-2 mb-0 color-fg-muted">Stay up to date on everything security.</p></div> <ul class="border-top list-style-none"> <li class="mt-4"><a href="https://github.blog/security/application-security/" class="text-bold lh-condensed-ultra color-fg-default">Application security</a><p class="mb-0 f5 color-fg-muted">Application security, explained.</p></li> <li class="mt-4"><a href="https://github.blog/security/supply-chain-security/" class="text-bold lh-condensed-ultra color-fg-default">Supply chain security</a><p class="mb-0 f5 color-fg-muted">Demystifying supply chain security.</p></li> <li class="mt-4"><a href="https://github.blog/security/vulnerability-research/" class="text-bold lh-condensed-ultra color-fg-default">Vulnerability research</a><p class="mb-0 f5 color-fg-muted">Updates from the GitHub Security Lab.</p></li> <li class="mt-4"><a href="https://github.blog/security/web-application-security/" class="text-bold lh-condensed-ultra color-fg-default">Web application security</a><p class="mb-0 f5 color-fg-muted">Helpful tips on securing web applications.</p></li> </ul> </li> <li class="d-none"><div class="mb-4"><a href="https://resources.github.com/security/the-enterprise-guide-to-ai-powered-devsecops/" class="d-flex flex-items-center flex-justify-start lh-condensed-ultra text-bold color-fg-default">The enterprise guide to AI-powered DevSecOps</a><p class="mb-3 f5 color-fg-muted">Learn about core challenges in DevSecOps, and how you can start addressing them with AI and automation.</p><a href="https://resources.github.com/security/the-enterprise-guide-to-ai-powered-devsecops/" target="" class="Link d-inline-flex flex-items-center">Learn more<svg xmlns="http://www.w3.org/2000/svg" class="octicon d-block ml-1 mt-1" viewBox="0 0 12 12" width="12" height="12"><path d="M4.7 10c-.2 0-.4-.1-.5-.2-.3-.3-.3-.8 0-1.1L6.9 6 4.2 3.3c-.3-.3-.3-.8 0-1.1.3-.3.8-.3 1.1 0l3.3 3.2c.3.3.3.8 0 1.1L5.3 9.7c-.2.2-.4.3-.6.3Z"></path></svg></a></div></li> </ul> </li> </ul><ul id="menu-secondary-navigation" class="pt-5 border-top list-style-none"><li class="mb-5"><a href="https://github.blog/changelog/" class="d-flex flex-items-center flex-justify-between lh-condensed-ultra text-bold color-fg-default">Changelog</a></li> <li class="mb-5"><a href="https://docs.github.com/" class="d-flex flex-items-center flex-justify-between lh-condensed-ultra text-bold color-fg-default">Docs<svg viewBox="0 0 16 16" width="16" height="16" class="octicon octicon-link-external d-block mt-1 color-fg-subtle" role="presentation"><path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path></svg></a></li> <li class="mb-5"><a href="https://github.com/customer-stories" class="d-flex flex-items-center flex-justify-between lh-condensed-ultra text-bold color-fg-default">Customer stories<svg viewBox="0 0 16 16" width="16" height="16" class="octicon octicon-link-external d-block mt-1 color-fg-subtle" role="presentation"><path d="M3.75 2h3.5a.75.75 0 0 1 0 1.5h-3.5a.25.25 0 0 0-.25.25v8.5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-3.5a.75.75 0 0 1 1.5 0v3.5A1.75 1.75 0 0 1 12.25 14h-8.5A1.75 1.75 0 0 1 2 12.25v-8.5C2 2.784 2.784 2 3.75 2Zm6.854-1h4.146a.25.25 0 0 1 .25.25v4.146a.25.25 0 0 1-.427.177L13.03 4.03 9.28 7.78a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1Z"></path></svg></a></li> </ul> <a data-analytics-click="Blog, click on button, text: Contact sales; ref_location:top nav;" class="d-block no-wrap my-3 btn-mktg btn-muted-mktg font-weight-semibold" href="https://github.com/enterprise/contact?ref_cta=contact20sales&#038;ref_loc=banner&#038;ref_page=blog" target="_blank" > Contact sales </a> <a data-analytics-click="Blog, click on button, text: Use Copilot for free; ref_location:top nav;" class="d-block no-wrap btn-mktg font-weight-semibold" href="https://github.com/features/copilot?utm_source=topnav&#038;utm_medium=blog&#038;utm_campaign=copilotfree" target="_blank" > Use Copilot for free </a> </div> </nav> </header> </div> <main id="start-of-content"> <div class="gh-changelog-archive-hero d-flex flex-md-items-center position-relative overflow-hidden"> <div class="position-absolute width-full height-full top-0 right-0 events-none"> <img width="1600" height="356" class="object-fit-cover d-none d-md-block width-full height-full" alt="" aria-hidden="true" srcset="https://github.blog/wp-content/themes/github-2021/assets/img/backgrounds/changelog-hero-bg-desktop.jpg, https://github.blog/wp-content/themes/github-2021/assets/img/backgrounds/changelog-hero-bg-desktop@2x.jpg 2x" src="https://github.blog/wp-content/themes/github-2021/assets/img/backgrounds/changelog-hero-bg-desktop.jpg" /> <img width="943" height="514" class="object-fit-cover d-block d-md-none float-left width-fit height-full" alt="" aria-hidden="true" srcset="https://github.blog/wp-content/themes/github-2021/assets/img/backgrounds/changelog-hero-bg-mobile.jpg, https://github.blog/wp-content/themes/github-2021/assets/img/backgrounds/changelog-hero-bg-mobile@2x.jpg 2x" src="https://github.blog/wp-content/themes/github-2021/assets/img/backgrounds/changelog-hero-bg-mobile.jpg" /> </div> <div class="container-xl mx-auto p-responsive-blog width-full position-relative z-1"> <div class="d-flex flex-wrap flex-md-items-center gutter-spacious"> <div class="col-12 col-md-6"> <h1 class="h3-mktg m-0 text-capitalize" style="overflow-wrap: normal;">Changelog</h1> <p class="f3-mktg col-9-max mt-3 mt-md-4 mb-8 mb-md-0">Subscribe to all <span class="text-capitalize">Changelog</span> posts via <a class="cl-label-hero__text_link cl-label-hero__text_link_rss" href="https://github.blog/changelog/feed/">RSS</a> or follow GitHub Changelog on <a class="cl-label-hero__text_link cl-label-hero__text_link_twitter" href="https://twitter.com/ghchangelog">Twitter</a> to stay updated on everything we ship.</p> </div> <div class="col-12 col-md-6"> <div class="changelog-terminal rounded-2 overflow-hidden position-md-relative top-md-8 float-md-right mx-auto mx-md-0 d-flex flex-column"> <div class="gh-terminal-handlebar"> <span class="gh-terminal-handlebar-buttons d-flex flex-row"></span> </div> <div class="gh-terminal-content terminal-mktg text-mono color-bg-default height-full p-3 p-md-4 js-type-in build-in-animate" data-type-delay="80" data-type-row-delay="400" data-color-mode="dark" data-light-theme="light" data-dark-theme="dark"> <div class="js-type-row"> <strong class="code-pink">→</strong> <strong class="color-fg-success">~</strong> <span class="js-type-letters">cd github-changelog</span> </div> <div class="js-type-row"> <strong class="code-pink">→</strong> <strong class="color-fg-success">~/github-changelog|<span class="color-fg-done">main</span></strong> <span class="js-type-letters">git log main</span> </div> <div class="js-type-row"> <span>showing all changes successfully</span> </div> </div> </div> </div> </div> </div> </div> <div class="py-4 border-bottom color-border-subtle" style="border-bottom-color: #EAEEF2 !important;"> <div class="container-xl mx-auto p-responsive-blog"> <form id="changelog-category-select" action="" method="get" class="gh-select-wrap d-inline-block position-relative"> <button type="button" class="gh-select js-changelog-category-dropdown-toggle position-relative" aria-expanded="false" aria-controls="changelog-categories"> All categories <svg class="octicon octicon-triangle-down" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16"><path d="M4.427 7.427l3.396 3.396a.25.25 0 00.354 0l3.396-3.396A.25.25 0 0011.396 7H4.604a.25.25 0 00-.177.427z" fill="currentColor"></path></svg> </button> <select class="gh-select-fallback js-changelog-category-dropdown-fallback" onchange="const clgform = document.getElementById('changelog-category-select'); clgform.action = this.value; clgform.submit();"> <option value="https://github.blog/changelog">All categories</option> <option value="https://github.blog/changelog/label/2fa/">2fa</option> <option value="https://github.blog/changelog/label/accessibility/">accessibility</option> <option value="https://github.blog/changelog/label/actions/">actions</option> <option value="https://github.blog/changelog/label/actions-importer/">actions-importer</option> <option value="https://github.blog/changelog/label/admin/">admin</option> <option value="https://github.blog/changelog/label/advanced-security/">advanced-security</option> <option value="https://github.blog/changelog/label/advisory-database/">advisory-database</option> <option value="https://github.blog/changelog/label/api/">api</option> <option value="https://github.blog/changelog/label/apps/">apps</option> <option value="https://github.blog/changelog/label/audit-log/">audit-log</option> <option value="https://github.blog/changelog/label/authentication/">authentication</option> <option value="https://github.blog/changelog/label/billing/">billing</option> <option value="https://github.blog/changelog/label/branches/">branches</option> <option value="https://github.blog/changelog/label/branchprotections/">branchprotections</option> <option value="https://github.blog/changelog/label/brownout/">brownout</option> <option value="https://github.blog/changelog/label/cache/">cache</option> <option value="https://github.blog/changelog/label/chatops/">chatops</option> <option value="https://github.blog/changelog/label/cli/">cli</option> <option value="https://github.blog/changelog/label/closing-down/">closing-down</option> <option value="https://github.blog/changelog/label/code/">code</option> <option value="https://github.blog/changelog/label/code-navigation/">code-navigation</option> <option value="https://github.blog/changelog/label/code-scanning/">code-scanning</option> <option value="https://github.blog/changelog/label/codeql/">codeql</option> <option value="https://github.blog/changelog/label/codesearch/">codesearch</option> <option value="https://github.blog/changelog/label/codespaces/">codespaces</option> <option value="https://github.blog/changelog/label/comments/">comments</option> <option value="https://github.blog/changelog/label/commits/">commits</option> <option value="https://github.blog/changelog/label/community/">community</option> <option value="https://github.blog/changelog/label/compliance/">compliance</option> <option value="https://github.blog/changelog/label/containers/">containers</option> <option value="https://github.blog/changelog/label/copilot/">copilot</option> <option value="https://github.blog/changelog/label/copilot-business/">copilot-business</option> <option value="https://github.blog/changelog/label/copilot-chat/">copilot-chat</option> <option value="https://github.blog/changelog/label/copilot-enterprise/">copilot-enterprise</option> <option value="https://github.blog/changelog/label/dark-mode/">dark-mode</option> <option value="https://github.blog/changelog/label/dependabot/">dependabot</option> <option value="https://github.blog/changelog/label/dependency-graph/">dependency-graph</option> <option value="https://github.blog/changelog/label/deployments/">deployments</option> <option value="https://github.blog/changelog/label/desktop/">desktop</option> <option value="https://github.blog/changelog/label/discussions/">discussions</option> <option value="https://github.blog/changelog/label/docs/">docs</option> <option value="https://github.blog/changelog/label/education/">education</option> <option value="https://github.blog/changelog/label/enterprise/">enterprise</option> <option value="https://github.blog/changelog/label/features/">features</option> <option value="https://github.blog/changelog/label/feed/">feed</option> <option value="https://github.blog/changelog/label/forks/">forks</option> <option value="https://github.blog/changelog/label/ghec/">ghec</option> <option value="https://github.blog/changelog/label/gists/">gists</option> <option value="https://github.blog/changelog/label/git/">git</option> <option value="https://github.blog/changelog/label/innersource/">innersource</option> <option value="https://github.blog/changelog/label/insights/">insights</option> <option value="https://github.blog/changelog/label/issues/">issues</option> <option value="https://github.blog/changelog/label/licensing/">licensing</option> <option value="https://github.blog/changelog/label/markdown/">markdown</option> <option value="https://github.blog/changelog/label/merge-queue/">merge-queue</option> <option value="https://github.blog/changelog/label/metrics/">metrics</option> <option value="https://github.blog/changelog/label/microsoft-teams-2/">microsoft-teams</option> <option value="https://github.blog/changelog/label/migrations/">migrations</option> <option value="https://github.blog/changelog/label/mobile/">mobile</option> <option value="https://github.blog/changelog/label/models/">models</option> <option value="https://github.blog/changelog/label/moderation/">moderation</option> <option value="https://github.blog/changelog/label/navigation/">navigation</option> <option value="https://github.blog/changelog/label/notifications/">notifications</option> <option value="https://github.blog/changelog/label/npm/">npm</option> <option value="https://github.blog/changelog/label/oidc/">oidc</option> <option value="https://github.blog/changelog/label/open-source/">open-source</option> <option value="https://github.blog/changelog/label/organizations/">organizations</option> <option value="https://github.blog/changelog/label/packages/">packages</option> <option value="https://github.blog/changelog/label/pages/">pages</option> <option value="https://github.blog/changelog/label/payments/">payments</option> <option value="https://github.blog/changelog/label/policies/">policies</option> <option value="https://github.blog/changelog/label/product/">product</option> <option value="https://github.blog/changelog/label/profile/">profile</option> <option value="https://github.blog/changelog/label/projects/">projects</option> <option value="https://github.blog/changelog/label/public-preview/">public-preview</option> <option value="https://github.blog/changelog/label/pull-requests/">pull-requests</option> <option value="https://github.blog/changelog/label/releases/">releases</option> <option value="https://github.blog/changelog/label/repos/">repos</option> <option value="https://github.blog/changelog/label/repositories/">repositories</option> <option value="https://github.blog/changelog/label/rules/">rules</option> <option value="https://github.blog/changelog/label/runners/">runners</option> <option value="https://github.blog/changelog/label/search/">search</option> <option value="https://github.blog/changelog/label/secret-scanning/">secret-scanning</option> <option value="https://github.blog/changelog/label/security/">security</option> <option value="https://github.blog/changelog/label/security-and-compliance/">security-and-compliance</option> <option value="https://github.blog/changelog/label/security-overview/">security-overview</option> <option value="https://github.blog/changelog/label/slack/">slack</option> <option value="https://github.blog/changelog/label/sponsors/">sponsors</option> <option value="https://github.blog/changelog/label/ssh/">ssh</option> <option value="https://github.blog/changelog/label/sunset/">sunset</option> <option value="https://github.blog/changelog/label/supply-chain/">supply-chain</option> <option value="https://github.blog/changelog/label/support/">support</option> <option value="https://github.blog/changelog/label/themes/">themes</option> <option value="https://github.blog/changelog/label/ui/">ui</option> <option value="https://github.blog/changelog/label/upload/">upload</option> <option value="https://github.blog/changelog/label/user-management/">user-management</option> <option value="https://github.blog/changelog/label/ux/">ux</option> <option value="https://github.blog/changelog/label/vs-code/">vs-code</option> <option value="https://github.blog/changelog/label/webhooks/">webhooks</option> <option value="https://github.blog/changelog/label/wikis/">wikis</option> <option value="https://github.blog/changelog/label/workflows/">workflows</option> </select> <nav id="changelog-categories" class="js-changelog-category-dropdown position-absolute mt-12px rounded-2 color-bg-default box-shadow-card-border-mktg pl-4 pr-3 py-3 z-3" style="text-transform: capitalize;" hidden> <div class="changelog-category-dropdown-content styled-scrollbar"> <a href="https://github.blog/changelog" class="d-block text-semibold Link--primary mb-12px mr-4 text-gradient-purple-coral">All categories</a> <a href="https://github.blog/changelog/label/2fa/" class="d-block text-semibold Link--primary mb-12px mr-4">2fa</a> <a href="https://github.blog/changelog/label/accessibility/" class="d-block text-semibold Link--primary mb-12px mr-4">accessibility</a> <a href="https://github.blog/changelog/label/actions/" class="d-block text-semibold Link--primary mb-12px mr-4">actions</a> <a href="https://github.blog/changelog/label/actions-importer/" class="d-block text-semibold Link--primary mb-12px mr-4">actions-importer</a> <a href="https://github.blog/changelog/label/admin/" class="d-block text-semibold Link--primary mb-12px mr-4">admin</a> <a href="https://github.blog/changelog/label/advanced-security/" class="d-block text-semibold Link--primary mb-12px mr-4">advanced-security</a> <a href="https://github.blog/changelog/label/advisory-database/" class="d-block text-semibold Link--primary mb-12px mr-4">advisory-database</a> <a href="https://github.blog/changelog/label/api/" class="d-block text-semibold Link--primary mb-12px mr-4">api</a> <a href="https://github.blog/changelog/label/apps/" class="d-block text-semibold Link--primary mb-12px mr-4">apps</a> <a href="https://github.blog/changelog/label/audit-log/" class="d-block text-semibold Link--primary mb-12px mr-4">audit-log</a> <a href="https://github.blog/changelog/label/authentication/" class="d-block text-semibold Link--primary mb-12px mr-4">authentication</a> <a href="https://github.blog/changelog/label/billing/" class="d-block text-semibold Link--primary mb-12px mr-4">billing</a> <a href="https://github.blog/changelog/label/branches/" class="d-block text-semibold Link--primary mb-12px mr-4">branches</a> <a href="https://github.blog/changelog/label/branchprotections/" class="d-block text-semibold Link--primary mb-12px mr-4">branchprotections</a> <a href="https://github.blog/changelog/label/brownout/" class="d-block text-semibold Link--primary mb-12px mr-4">brownout</a> <a href="https://github.blog/changelog/label/cache/" class="d-block text-semibold Link--primary mb-12px mr-4">cache</a> <a href="https://github.blog/changelog/label/chatops/" class="d-block text-semibold Link--primary mb-12px mr-4">chatops</a> <a href="https://github.blog/changelog/label/cli/" class="d-block text-semibold Link--primary mb-12px mr-4">cli</a> <a href="https://github.blog/changelog/label/closing-down/" class="d-block text-semibold Link--primary mb-12px mr-4">closing-down</a> <a href="https://github.blog/changelog/label/code/" class="d-block text-semibold Link--primary mb-12px mr-4">code</a> <a href="https://github.blog/changelog/label/code-navigation/" class="d-block text-semibold Link--primary mb-12px mr-4">code-navigation</a> <a href="https://github.blog/changelog/label/code-scanning/" class="d-block text-semibold Link--primary mb-12px mr-4">code-scanning</a> <a href="https://github.blog/changelog/label/codeql/" class="d-block text-semibold Link--primary mb-12px mr-4">codeql</a> <a href="https://github.blog/changelog/label/codesearch/" class="d-block text-semibold Link--primary mb-12px mr-4">codesearch</a> <a href="https://github.blog/changelog/label/codespaces/" class="d-block text-semibold Link--primary mb-12px mr-4">codespaces</a> <a href="https://github.blog/changelog/label/comments/" class="d-block text-semibold Link--primary mb-12px mr-4">comments</a> <a href="https://github.blog/changelog/label/commits/" class="d-block text-semibold Link--primary mb-12px mr-4">commits</a> <a href="https://github.blog/changelog/label/community/" class="d-block text-semibold Link--primary mb-12px mr-4">community</a> <a href="https://github.blog/changelog/label/compliance/" class="d-block text-semibold Link--primary mb-12px mr-4">compliance</a> <a href="https://github.blog/changelog/label/containers/" class="d-block text-semibold Link--primary mb-12px mr-4">containers</a> <a href="https://github.blog/changelog/label/copilot/" class="d-block text-semibold Link--primary mb-12px mr-4">copilot</a> <a href="https://github.blog/changelog/label/copilot-business/" class="d-block text-semibold Link--primary mb-12px mr-4">copilot-business</a> <a href="https://github.blog/changelog/label/copilot-chat/" class="d-block text-semibold Link--primary mb-12px mr-4">copilot-chat</a> <a href="https://github.blog/changelog/label/copilot-enterprise/" class="d-block text-semibold Link--primary mb-12px mr-4">copilot-enterprise</a> <a href="https://github.blog/changelog/label/dark-mode/" class="d-block text-semibold Link--primary mb-12px mr-4">dark-mode</a> <a href="https://github.blog/changelog/label/dependabot/" class="d-block text-semibold Link--primary mb-12px mr-4">dependabot</a> <a href="https://github.blog/changelog/label/dependency-graph/" class="d-block text-semibold Link--primary mb-12px mr-4">dependency-graph</a> <a href="https://github.blog/changelog/label/deployments/" class="d-block text-semibold Link--primary mb-12px mr-4">deployments</a> <a href="https://github.blog/changelog/label/desktop/" class="d-block text-semibold Link--primary mb-12px mr-4">desktop</a> <a href="https://github.blog/changelog/label/discussions/" class="d-block text-semibold Link--primary mb-12px mr-4">discussions</a> <a href="https://github.blog/changelog/label/docs/" class="d-block text-semibold Link--primary mb-12px mr-4">docs</a> <a href="https://github.blog/changelog/label/education/" class="d-block text-semibold Link--primary mb-12px mr-4">education</a> <a href="https://github.blog/changelog/label/enterprise/" class="d-block text-semibold Link--primary mb-12px mr-4">enterprise</a> <a href="https://github.blog/changelog/label/features/" class="d-block text-semibold Link--primary mb-12px mr-4">features</a> <a href="https://github.blog/changelog/label/feed/" class="d-block text-semibold Link--primary mb-12px mr-4">feed</a> <a href="https://github.blog/changelog/label/forks/" class="d-block text-semibold Link--primary mb-12px mr-4">forks</a> <a href="https://github.blog/changelog/label/ghec/" class="d-block text-semibold Link--primary mb-12px mr-4">ghec</a> <a href="https://github.blog/changelog/label/gists/" class="d-block text-semibold Link--primary mb-12px mr-4">gists</a> <a href="https://github.blog/changelog/label/git/" class="d-block text-semibold Link--primary mb-12px mr-4">git</a> <a href="https://github.blog/changelog/label/innersource/" class="d-block text-semibold Link--primary mb-12px mr-4">innersource</a> <a href="https://github.blog/changelog/label/insights/" class="d-block text-semibold Link--primary mb-12px mr-4">insights</a> <a href="https://github.blog/changelog/label/issues/" class="d-block text-semibold Link--primary mb-12px mr-4">issues</a> <a href="https://github.blog/changelog/label/licensing/" class="d-block text-semibold Link--primary mb-12px mr-4">licensing</a> <a href="https://github.blog/changelog/label/markdown/" class="d-block text-semibold Link--primary mb-12px mr-4">markdown</a> <a href="https://github.blog/changelog/label/merge-queue/" class="d-block text-semibold Link--primary mb-12px mr-4">merge-queue</a> <a href="https://github.blog/changelog/label/metrics/" class="d-block text-semibold Link--primary mb-12px mr-4">metrics</a> <a href="https://github.blog/changelog/label/microsoft-teams-2/" class="d-block text-semibold Link--primary mb-12px mr-4">microsoft-teams</a> <a href="https://github.blog/changelog/label/migrations/" class="d-block text-semibold Link--primary mb-12px mr-4">migrations</a> <a href="https://github.blog/changelog/label/mobile/" class="d-block text-semibold Link--primary mb-12px mr-4">mobile</a> <a href="https://github.blog/changelog/label/models/" class="d-block text-semibold Link--primary mb-12px mr-4">models</a> <a href="https://github.blog/changelog/label/moderation/" class="d-block text-semibold Link--primary mb-12px mr-4">moderation</a> <a href="https://github.blog/changelog/label/navigation/" class="d-block text-semibold Link--primary mb-12px mr-4">navigation</a> <a href="https://github.blog/changelog/label/notifications/" class="d-block text-semibold Link--primary mb-12px mr-4">notifications</a> <a href="https://github.blog/changelog/label/npm/" class="d-block text-semibold Link--primary mb-12px mr-4">npm</a> <a href="https://github.blog/changelog/label/oidc/" class="d-block text-semibold Link--primary mb-12px mr-4">oidc</a> <a href="https://github.blog/changelog/label/open-source/" class="d-block text-semibold Link--primary mb-12px mr-4">open-source</a> <a href="https://github.blog/changelog/label/organizations/" class="d-block text-semibold Link--primary mb-12px mr-4">organizations</a> <a href="https://github.blog/changelog/label/packages/" class="d-block text-semibold Link--primary mb-12px mr-4">packages</a> <a href="https://github.blog/changelog/label/pages/" class="d-block text-semibold Link--primary mb-12px mr-4">pages</a> <a href="https://github.blog/changelog/label/payments/" class="d-block text-semibold Link--primary mb-12px mr-4">payments</a> <a href="https://github.blog/changelog/label/policies/" class="d-block text-semibold Link--primary mb-12px mr-4">policies</a> <a href="https://github.blog/changelog/label/product/" class="d-block text-semibold Link--primary mb-12px mr-4">product</a> <a href="https://github.blog/changelog/label/profile/" class="d-block text-semibold Link--primary mb-12px mr-4">profile</a> <a href="https://github.blog/changelog/label/projects/" class="d-block text-semibold Link--primary mb-12px mr-4">projects</a> <a href="https://github.blog/changelog/label/public-preview/" class="d-block text-semibold Link--primary mb-12px mr-4">public-preview</a> <a href="https://github.blog/changelog/label/pull-requests/" class="d-block text-semibold Link--primary mb-12px mr-4">pull-requests</a> <a href="https://github.blog/changelog/label/releases/" class="d-block text-semibold Link--primary mb-12px mr-4">releases</a> <a href="https://github.blog/changelog/label/repos/" class="d-block text-semibold Link--primary mb-12px mr-4">repos</a> <a href="https://github.blog/changelog/label/repositories/" class="d-block text-semibold Link--primary mb-12px mr-4">repositories</a> <a href="https://github.blog/changelog/label/rules/" class="d-block text-semibold Link--primary mb-12px mr-4">rules</a> <a href="https://github.blog/changelog/label/runners/" class="d-block text-semibold Link--primary mb-12px mr-4">runners</a> <a href="https://github.blog/changelog/label/search/" class="d-block text-semibold Link--primary mb-12px mr-4">search</a> <a href="https://github.blog/changelog/label/secret-scanning/" class="d-block text-semibold Link--primary mb-12px mr-4">secret-scanning</a> <a href="https://github.blog/changelog/label/security/" class="d-block text-semibold Link--primary mb-12px mr-4">security</a> <a href="https://github.blog/changelog/label/security-and-compliance/" class="d-block text-semibold Link--primary mb-12px mr-4">security-and-compliance</a> <a href="https://github.blog/changelog/label/security-overview/" class="d-block text-semibold Link--primary mb-12px mr-4">security-overview</a> <a href="https://github.blog/changelog/label/slack/" class="d-block text-semibold Link--primary mb-12px mr-4">slack</a> <a href="https://github.blog/changelog/label/sponsors/" class="d-block text-semibold Link--primary mb-12px mr-4">sponsors</a> <a href="https://github.blog/changelog/label/ssh/" class="d-block text-semibold Link--primary mb-12px mr-4">ssh</a> <a href="https://github.blog/changelog/label/sunset/" class="d-block text-semibold Link--primary mb-12px mr-4">sunset</a> <a href="https://github.blog/changelog/label/supply-chain/" class="d-block text-semibold Link--primary mb-12px mr-4">supply-chain</a> <a href="https://github.blog/changelog/label/support/" class="d-block text-semibold Link--primary mb-12px mr-4">support</a> <a href="https://github.blog/changelog/label/themes/" class="d-block text-semibold Link--primary mb-12px mr-4">themes</a> <a href="https://github.blog/changelog/label/ui/" class="d-block text-semibold Link--primary mb-12px mr-4">ui</a> <a href="https://github.blog/changelog/label/upload/" class="d-block text-semibold Link--primary mb-12px mr-4">upload</a> <a href="https://github.blog/changelog/label/user-management/" class="d-block text-semibold Link--primary mb-12px mr-4">user-management</a> <a href="https://github.blog/changelog/label/ux/" class="d-block text-semibold Link--primary mb-12px mr-4">ux</a> <a href="https://github.blog/changelog/label/vs-code/" class="d-block text-semibold Link--primary mb-12px mr-4">vs-code</a> <a href="https://github.blog/changelog/label/webhooks/" class="d-block text-semibold Link--primary mb-12px mr-4">webhooks</a> <a href="https://github.blog/changelog/label/wikis/" class="d-block text-semibold Link--primary mb-12px mr-4">wikis</a> <a href="https://github.blog/changelog/label/workflows/" class="d-block text-semibold Link--primary mb-12px mr-4">workflows</a> </div> </nav> </form> </div> </div> <div class="js-ajax-root mt-md-7 mb-9 mb-md-12"> <div class="container-xl mx-auto p-responsive-blog js-ajax-landing"> <article id="changelog-82678" class="d-flex gutter-spacious flex-wrap position-relative changelog-line js-ajax-fetchable post-82678 changelog type-changelog status-publish hentry changelog-label-policies changelog-label-public-preview changelog-label-repositories changelog-label-rules"> <div class="pb-4 pt-5 pt-md-7 col-12 col-md-5 position-relative"> <div class="changelog-single-details position-sticky top-12"> <svg class="octicon octicon-commit position-absolute left-0 color-bg-default color-fg-muted" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="28" height="28"><path fill-rule="evenodd" d="M15.5 11.75a3.5 3.5 0 11-7 0 3.5 3.5 0 017 0zm1.444-.75a5.001 5.001 0 00-9.888 0H2.75a.75.75 0 100 1.5h4.306a5.001 5.001 0 009.888 0h4.306a.75.75 0 100-1.5h-4.306z" fill="currentColor"></path></svg> <h2 class="h5-mktg"><a class="Link--primary" href="https://github.blog/changelog/2025-02-18-repositories-enterprise-rules-and-custom-properties-updates" rel="bookmark">Repositories &#8211; Enterprise rules and custom properties updates</a></h2> <time datetime="2025-02-18" class="d-block f5-mktg text-medium color-fg-muted mt-14px">February 18, 2025</time> <ul class="d-inline-block list-style-none post-hero__categories mt-2"><li class="d-inline-block mr-2 mt-2"><a href="https://github.blog/changelog/label/policies/" class="f5-mktg pill-label text-gradient-purple-coral text-bold">policies</a></li><li class="d-inline-block mr-2 mt-2"><a href="https://github.blog/changelog/label/public-preview/" class="f5-mktg pill-label text-gradient-purple-coral text-bold">public-preview</a></li><li class="d-inline-block mr-2 mt-2"><a href="https://github.blog/changelog/label/repositories/" class="f5-mktg pill-label text-gradient-purple-coral text-bold">repositories</a></li><li class="d-inline-block mr-2 mt-2"><a href="https://github.blog/changelog/label/rules/" class="f5-mktg pill-label text-gradient-purple-coral text-bold">rules</a></li></ul> </div> </div> <div class="col-12 col-md-7"> <div class="pb-5 pt-0 py-md-7 changelog-single-content-wrap border-bottom"> <div id="changelog-single-content-82678" class="post__content changelog-single-content js-show-all-target"> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"> <html><body><h2 id="custom-properties">Custom properties<a href="#custom-properties" class="heading-link pl-2 text-italic text-bold" aria-label="Custom properties"></a></h2> <p class="has-image"><img decoding="async" src="https://github.com/user-attachments/assets/1fcd68de-1d4f-45cf-94d5-11aa4cd78bd2" alt="Screenshot depicting new filter options available" loading="lazy"></p> <p>There are new search and filtering options for custom properties now generally available to ensure you can easily find the right property.</p> <ul> <li><code>Managed by</code> allows you to limit your result by the organization or enterprise who manages the property.</li> <li><code>Property type</code> allows you to limit your result by the available type of properties.</li> <li><code>Text</code> allows you to limit your result by the context of the property name or values.</li> </ul> <h2 id="enterprise-custom-properties">Enterprise custom properties<a href="#enterprise-custom-properties" class="heading-link pl-2 text-italic text-bold" aria-label="Enterprise custom properties"></a></h2> <p class="has-image"><img decoding="async" src="https://github.com/user-attachments/assets/a368a19b-1e0d-406d-923d-3dd79c27c842" alt="Screenshot of custom property promotion screen" loading="lazy"></p> <p><a href="https://docs.github.com/admin/managing-accounts-and-repositories/managing-repositories-in-your-enterprise/managing-custom-properties-for-repositories-in-your-enterprise">Enterprise custom properties</a> as part of the current <a href="https://github.blog/changelog/2024-12-04-enterprise-repository-properties-policies-and-rulesets-public-preview/">preview</a> can now be promoted from an organization to an enterprise property. This ensures properties configured in one organization are available across all organizations in an enterprise.</p> <h2 id="enterprise-code-rulesets">Enterprise code rulesets<a href="#enterprise-code-rulesets" class="heading-link pl-2 text-italic text-bold" aria-label="Enterprise code rulesets"></a></h2> <p class="has-image"><img decoding="async" src="https://github.com/user-attachments/assets/e0b664dd-27bf-476c-9609-8efb4642d203" alt="Screenshot of configuring enterprise workflow rule" loading="lazy"></p> <p>Required workflows are now available as a new rule in the <a href="https://docs.github.com/enterprise-cloud@latest/organizations/managing-organization-settings/governing-how-people-use-repositories-in-your-organization">enterprise code rules</a> <a href="https://github.blog/changelog/2024-12-04-enterprise-repository-properties-policies-and-rulesets-public-preview/">preview</a>. This will allow you to target workflows across specific organizations and repositories with a single workflow file managed at the enterprise.</p> <p><strong>Note:</strong> <a href="https://docs.github.com/en/enterprise-cloud@latest/admin/data-residency/about-github-enterprise-cloud-with-data-residency">GitHub Enterprise Cloud with data residency</a> support for the enterprise workflow rule will be coming soon.</p> <p>Join the discussion within <a href="https://github.com/orgs/community/discussions/145599#discussion-7555525">GitHub Community</a>.</p> </body></html> </div> <a href="https://github.blog/changelog/2025-02-18-repositories-enterprise-rules-and-custom-properties-updates" role="button" class="Link--primary d-none d-md-inline-block mt-4 text-bold js-show-trigger" aria-expanded="false" aria-controls="changelog-single-content-82678"> See more <svg class="octicon octicon-chevron-down" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M12.78 6.22a.75.75 0 010 1.06l-4.25 4.25a.75.75 0 01-1.06 0L3.22 7.28a.75.75 0 011.06-1.06L8 9.94l3.72-3.72a.75.75 0 011.06 0z" fill="currentColor"></path></svg> </a> <a href="https://github.blog/changelog/2025-02-18-repositories-enterprise-rules-and-custom-properties-updates" class="Link--primary d-inline-block d-md-none mt-4 text-bold js-show-trigger-alt"> See more <svg class="octicon octicon-chevron-down" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M12.78 6.22a.75.75 0 010 1.06l-4.25 4.25a.75.75 0 01-1.06 0L3.22 7.28a.75.75 0 011.06-1.06L8 9.94l3.72-3.72a.75.75 0 011.06 0z" fill="currentColor"></path></svg> </a> </div> </div> </article> <article id="changelog-82675" class="d-flex gutter-spacious flex-wrap position-relative changelog-line js-ajax-fetchable post-82675 changelog type-changelog status-publish hentry changelog-label-actions changelog-label-advanced-security changelog-label-supply-chain"> <div class="pb-4 pt-5 pt-md-7 col-12 col-md-5 position-relative"> <div class="changelog-single-details position-sticky top-12"> <svg class="octicon octicon-commit position-absolute left-0 color-bg-default color-fg-muted" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="28" height="28"><path fill-rule="evenodd" d="M15.5 11.75a3.5 3.5 0 11-7 0 3.5 3.5 0 017 0zm1.444-.75a5.001 5.001 0 00-9.888 0H2.75a.75.75 0 100 1.5h4.306a5.001 5.001 0 009.888 0h4.306a.75.75 0 100-1.5h-4.306z" fill="currentColor"></path></svg> <h2 class="h5-mktg"><a class="Link--primary" href="https://github.blog/changelog/2025-02-18-recent-improvements-to-artifact-attestations" rel="bookmark">Recent improvements to Artifact Attestations</a></h2> <time datetime="2025-02-18" class="d-block f5-mktg text-medium color-fg-muted mt-14px">February 18, 2025</time> <ul class="d-inline-block list-style-none post-hero__categories mt-2"><li class="d-inline-block mr-2 mt-2"><a href="https://github.blog/changelog/label/actions/" class="f5-mktg pill-label text-gradient-purple-coral text-bold">actions</a></li><li class="d-inline-block mr-2 mt-2"><a href="https://github.blog/changelog/label/advanced-security/" class="f5-mktg pill-label text-gradient-purple-coral text-bold">advanced-security</a></li><li class="d-inline-block mr-2 mt-2"><a href="https://github.blog/changelog/label/supply-chain/" class="f5-mktg pill-label text-gradient-purple-coral text-bold">supply-chain</a></li></ul> </div> </div> <div class="col-12 col-md-7"> <div class="pb-5 pt-0 py-md-7 changelog-single-content-wrap border-bottom"> <div id="changelog-single-content-82675" class="post__content changelog-single-content js-show-all-target"> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"> <html><body><p>We released a collection of improvements to Artifact Attestations to make the verification of attestations easier and more consistent.</p> <p>Artifact Attestations let you create provenance signatures, which provide an unforgeable paper trail that links your artifact back to its originating workflow run. By verifying the signature, you can gate deployments to ensure that what you deploy is exactly what you built, guaranteeing that the artifact has not been tampered with.</p> <p>Today we are announcing multiple improvements based on the user feedback we have received:</p> <ul> <li><strong>Attestation verification defaults to build provenance:</strong> Build provenance is just one type of information that can be attested to an artifact. It provides a verifiable trail that links the artifact back to its originating workflow run, ensuring its authenticity and integrity. However, other types of information can also be attested to an artifact, for example a Software Bill of Materials (SBOM). Attestations can be verified by running <code>gh attestation verify</code> using the <a href="https://cli.github.com/manual/gh_attestation_verify">GitHub CLI</a>. Previously, verification succeeded as soon as there was any attestation associated with the artifact. However, we observed that provenance is verified in the vast majority of cases. Therefore, we altered the CLI to default to provenance when no predicate type is specified. This change ensures that verification does not pass merely because, for example, an SBOM was attested to the artifact. To verify an SBOM, the predicate type must be explicitly supplied as a parameter using <code>gh attestation verify</code> with the <code>--predicate-type</code> parameter.</li> <li><strong>CLI outputs evaluated policies during verification:</strong> When verifying an attestation, the CLI now outputs all the policies it evaluated to determine whether the verification succeeds or fails. This increases transparency, making it easier to understand the reasons behind the verification outcome.</li> <li><strong>Attest actions support multiple subjects:</strong> Following the <a href="https://github.blog/changelog/2024-12-04-artifact-attestations-now-support-multiple-subjects/">release to support attesting multiple subjects</a>, we have enhanced our <a href="https://github.com/actions/attest"><code>attest</code></a>, <a href="https://github.com/actions/attest-build-provenance/"><code>attest-build-provenance</code></a> and <a href="https://github.com/actions/attest-sbom"><code>attest-sbom</code></a> actions to also accept a <a href="https://github.com/actions/attest-build-provenance?tab=readme-ov-file#identify-subjects-with-checksums-file">checksum file</a> that contains a list of artifacts and their corresponding digests as input.</li> <li><strong>Attestation verification is now monotonic:</strong> This means that once verification passes for an artifact, the addition of another attestation cannot change that status. Verification now succeeds if at least one attestation passes verification. This ensures that downstream processes, such as gated deployments, are not affected for any legitimate build that has a valid provenance attestation, even if someone adds another attestation that is bad or malformed. </li> </ul> <p>For more information about Artifact Attestations, see <a href="https://docs.github.com/en/actions/security-for-github-actions/using-artifact-attestations/using-artifact-attestations-to-establish-provenance-for-builds">Using artifact attestations to establish provenance for builds</a> in the GitHub documentation. If you have any feedback on Artifact Attestations, join the <a href="https://github.com/orgs/community/discussions/129761">discussion</a> in the GitHub Community.</p> </body></html> </div> <a href="https://github.blog/changelog/2025-02-18-recent-improvements-to-artifact-attestations" role="button" class="Link--primary d-none d-md-inline-block mt-4 text-bold js-show-trigger" aria-expanded="false" aria-controls="changelog-single-content-82675"> See more <svg class="octicon octicon-chevron-down" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M12.78 6.22a.75.75 0 010 1.06l-4.25 4.25a.75.75 0 01-1.06 0L3.22 7.28a.75.75 0 011.06-1.06L8 9.94l3.72-3.72a.75.75 0 011.06 0z" fill="currentColor"></path></svg> </a> <a href="https://github.blog/changelog/2025-02-18-recent-improvements-to-artifact-attestations" class="Link--primary d-inline-block d-md-none mt-4 text-bold js-show-trigger-alt"> See more <svg class="octicon octicon-chevron-down" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M12.78 6.22a.75.75 0 010 1.06l-4.25 4.25a.75.75 0 01-1.06 0L3.22 7.28a.75.75 0 011.06-1.06L8 9.94l3.72-3.72a.75.75 0 011.06 0z" fill="currentColor"></path></svg> </a> </div> </div> </article> <article id="changelog-82654" class="d-flex gutter-spacious flex-wrap position-relative changelog-line js-ajax-fetchable post-82654 changelog type-changelog status-publish hentry changelog-label-code changelog-label-copilot changelog-label-vs-code"> <div class="pb-4 pt-5 pt-md-7 col-12 col-md-5 position-relative"> <div class="changelog-single-details position-sticky top-12"> <svg class="octicon octicon-commit position-absolute left-0 color-bg-default color-fg-muted" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="28" height="28"><path fill-rule="evenodd" d="M15.5 11.75a3.5 3.5 0 11-7 0 3.5 3.5 0 017 0zm1.444-.75a5.001 5.001 0 00-9.888 0H2.75a.75.75 0 100 1.5h4.306a5.001 5.001 0 009.888 0h4.306a.75.75 0 100-1.5h-4.306z" fill="currentColor"></path></svg> <h2 class="h5-mktg"><a class="Link--primary" href="https://github.blog/changelog/2025-02-18-new-gpt-4o-copilot-code-completion-model-now-available-in-public-preview-for-copilot-in-vs-code" rel="bookmark">New GPT-4o Copilot code completion model available now in public preview for Copilot in VS Code</a></h2> <time datetime="2025-02-18" class="d-block f5-mktg text-medium color-fg-muted mt-14px">February 18, 2025</time> <ul class="d-inline-block list-style-none post-hero__categories mt-2"><li class="d-inline-block mr-2 mt-2"><a href="https://github.blog/changelog/label/code/" class="f5-mktg pill-label text-gradient-purple-coral text-bold">code</a></li><li class="d-inline-block mr-2 mt-2"><a href="https://github.blog/changelog/label/copilot/" class="f5-mktg pill-label text-gradient-purple-coral text-bold">copilot</a></li><li class="d-inline-block mr-2 mt-2"><a href="https://github.blog/changelog/label/vs-code/" class="f5-mktg pill-label text-gradient-purple-coral text-bold">vs-code</a></li></ul> </div> </div> <div class="col-12 col-md-7"> <div class="pb-5 pt-0 py-md-7 changelog-single-content-wrap border-bottom"> <div id="changelog-single-content-82654" class="post__content changelog-single-content js-show-all-target"> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"> <html><body><p class="has-image"><img decoding="async" src="https://github.com/user-attachments/assets/85090dca-70f3-446f-8d4b-63cbc407aebd" alt="Header introducing GPT-4o Copilot model" loading="lazy"></p> <p>A new code completion model, <code>GPT-4o Copilot</code>, <a href="https://docs.github.com/copilot/using-github-copilot/ai-models/changing-the-ai-model-for-copilot-code-completion">can now be enabled by VS Code users</a>.</p> <p>This new model based on GPT-4o mini has additional training on over 275,000 high-quality public repositories in over 30 popular programming languages. As a result, you can expect this model to provide more accurate suggestions and to have better performance.</p> <h3 id="getting-started-with-gpt-4o-copilot-in-vs-code">Getting started with GPT-4o Copilot in VS Code<a href="#getting-started-with-gpt-4o-copilot-in-vs-code" class="heading-link pl-2 text-italic text-bold" aria-label="Getting started with GPT-4o Copilot in VS Code"></a></h3> <div style="width: 1920px;" class="wp-video"><!--[if lt IE 9]><script>document.createElement('video');</script><![endif]--> <video class="wp-video-shortcode" id="video-82654-1" width="1920" height="1080" poster="https://github.blog/wp-content/uploads/2025/02/Screenshot-2025-02-18-at-12.49.47&#8239;PM.png" preload="metadata" controls="controls"><source type="video/mp4" src="https://github.blog/wp-content/uploads/2025/02/413500727-10484c71-54e7-4f56-aa74-86ff91060fba.mp4#t=0.001?_=1" /><a href="https://github.blog/wp-content/uploads/2025/02/413500727-10484c71-54e7-4f56-aa74-86ff91060fba.mp4#t=0.001">https://github.blog/wp-content/uploads/2025/02/413500727-10484c71-54e7-4f56-aa74-86ff91060fba.mp4#t=0.001</a></video></div> <p>To get started, open the Copilot menu in the VS Code title bar, select <code>Configure Code Completions...</code> &gt; <code>Change Completions Model...</code>. Alternatively, open the Command Palette and select <code>GitHub Copilot: Change Completions Model...</code>.</p> <h3 id="gpt-4o-copilot-access-notes">GPT-4o Copilot access notes<a href="#gpt-4o-copilot-access-notes" class="heading-link pl-2 text-italic text-bold" aria-label="GPT-4o Copilot access notes"></a></h3> <p>If you are a Copilot Business or Enterprise user, you will first need your administrator to enable this model for your organization by opting in to <code>Editor preview features</code> in the <a href="https://docs.github.com/en/enterprise-cloud@latest/copilot/managing-copilot/managing-github-copilot-in-your-organization/managing-policies-for-copilot-in-your-organization#enabling-copilot-features-in-your-organization">Copilot policy settings</a> on github.com.</p> <p>If you are a <a href="https://docs.github.com/en/copilot/quickstart">Copilot Free</a> user, using this model will count toward your 2,000 free monthly completions.</p> <p>The model will also be available soon to Copilot users in all JetBrains IDEs.</p> <p>Please <a href="https://github.com/microsoft/vscode-copilot-release">share your feedback</a> as you try out the new model. It will help us improve the experience for all Copilot users.</p> </body></html> </div> <a href="https://github.blog/changelog/2025-02-18-new-gpt-4o-copilot-code-completion-model-now-available-in-public-preview-for-copilot-in-vs-code" role="button" class="Link--primary d-none d-md-inline-block mt-4 text-bold js-show-trigger" aria-expanded="false" aria-controls="changelog-single-content-82654"> See more <svg class="octicon octicon-chevron-down" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M12.78 6.22a.75.75 0 010 1.06l-4.25 4.25a.75.75 0 01-1.06 0L3.22 7.28a.75.75 0 011.06-1.06L8 9.94l3.72-3.72a.75.75 0 011.06 0z" fill="currentColor"></path></svg> </a> <a href="https://github.blog/changelog/2025-02-18-new-gpt-4o-copilot-code-completion-model-now-available-in-public-preview-for-copilot-in-vs-code" class="Link--primary d-inline-block d-md-none mt-4 text-bold js-show-trigger-alt"> See more <svg class="octicon octicon-chevron-down" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M12.78 6.22a.75.75 0 010 1.06l-4.25 4.25a.75.75 0 01-1.06 0L3.22 7.28a.75.75 0 011.06-1.06L8 9.94l3.72-3.72a.75.75 0 011.06 0z" fill="currentColor"></path></svg> </a> </div> </div> </article> <article id="changelog-82668" class="d-flex gutter-spacious flex-wrap position-relative changelog-line js-ajax-fetchable post-82668 changelog type-changelog status-publish hentry changelog-label-api changelog-label-issues changelog-label-projects"> <div class="pb-4 pt-5 pt-md-7 col-12 col-md-5 position-relative"> <div class="changelog-single-details position-sticky top-12"> <svg class="octicon octicon-commit position-absolute left-0 color-bg-default color-fg-muted" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="28" height="28"><path fill-rule="evenodd" d="M15.5 11.75a3.5 3.5 0 11-7 0 3.5 3.5 0 017 0zm1.444-.75a5.001 5.001 0 00-9.888 0H2.75a.75.75 0 100 1.5h4.306a5.001 5.001 0 009.888 0h4.306a.75.75 0 100-1.5h-4.306z" fill="currentColor"></path></svg> <h2 class="h5-mktg"><a class="Link--primary" href="https://github.blog/changelog/2025-02-18-github-issues-projects-february-18th-update" rel="bookmark">GitHub Issues &amp; Projects – February 18th update</a></h2> <time datetime="2025-02-18" class="d-block f5-mktg text-medium color-fg-muted mt-14px">February 18, 2025</time> <ul class="d-inline-block list-style-none post-hero__categories mt-2"><li class="d-inline-block mr-2 mt-2"><a href="https://github.blog/changelog/label/api/" class="f5-mktg pill-label text-gradient-purple-coral text-bold">api</a></li><li class="d-inline-block mr-2 mt-2"><a href="https://github.blog/changelog/label/issues/" class="f5-mktg pill-label text-gradient-purple-coral text-bold">issues</a></li><li class="d-inline-block mr-2 mt-2"><a href="https://github.blog/changelog/label/projects/" class="f5-mktg pill-label text-gradient-purple-coral text-bold">projects</a></li></ul> </div> </div> <div class="col-12 col-md-7"> <div class="pb-5 pt-0 py-md-7 changelog-single-content-wrap border-bottom"> <div id="changelog-single-content-82668" class="post__content changelog-single-content js-show-all-target"> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"> <html><body><p>Today&rsquo;s changelog brings you a snappier issue creation flow in projects, the ability to convert checklist items to sub-issues, required fields on private repositories, and important updates on tasklist blocks and single issue templates.</p> <h2 id="improved-issue-creation-flow-in-projects">&#9997;&#65039; Improved issue creation flow in projects<a href="#improved-issue-creation-flow-in-projects" class="heading-link pl-2 text-italic text-bold" aria-label="&#9997;&#65039; Improved issue creation flow in projects"></a></h2> <p>Creating a new issue from a project is now easier than ever. Previously, when you started typing in an issue title in a project, the default was to create a draft issue. However, we&rsquo;ve heard from user feedback that the primary<br> desired use case is to create an issue instead of a draft. Now, with this update, you can directly create a new issue by pressing <code>Enter</code> or create a draft with <code>Cmd / Ctrl + Enter</code>.</p> <div style="width: 1640px;" class="wp-video"><video class="wp-video-shortcode" id="video-82668-2" width="1640" height="1080" preload="metadata" controls="controls"><source type="video/mp4" src="https://github.blog/wp-content/uploads/2025/02/new-issue.mp4#t=0.001?_=2" /><a href="https://github.blog/wp-content/uploads/2025/02/new-issue.mp4#t=0.001">https://github.blog/wp-content/uploads/2025/02/new-issue.mp4#t=0.001</a></video></div> <h2 id="required-fields-on-issue-forms-for-private-repositories">&#128274; Required fields on issue forms for private repositories<a href="#required-fields-on-issue-forms-for-private-repositories" class="heading-link pl-2 text-italic text-bold" aria-label="&#128274; Required fields on issue forms for private repositories"></a></h2> <p>You can now specify <a href="https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-issue-forms#about-yaml-syntax-for-issue-forms">required fields</a> on issue forms in private repositories, which ensures that contributors provide essential information before submitting an issue.</p> <div style="width: 1640px;" class="wp-video"><video class="wp-video-shortcode" id="video-82668-3" width="1640" height="1080" preload="metadata" controls="controls"><source type="video/mp4" src="https://github.blog/wp-content/uploads/2025/02/required_fields.mp4#t=0.001?_=3" /><a href="https://github.blog/wp-content/uploads/2025/02/required_fields.mp4#t=0.001">https://github.blog/wp-content/uploads/2025/02/required_fields.mp4#t=0.001</a></video></div> <h2 id="convert-checklist-items-to-sub-issues">&#10145;&#65039; Convert checklist items to sub-issues<a href="#convert-checklist-items-to-sub-issues" class="heading-link pl-2 text-italic text-bold" aria-label="&#10145;&#65039; Convert checklist items to sub-issues"></a></h2> <p>You can now convert checklist items in issues directly to sub-issues, making it easier to turn draft or to-do tasks into actionable work items.</p> <div style="width: 1640px;" class="wp-video"><video class="wp-video-shortcode" id="video-82668-4" width="1640" height="1080" preload="metadata" controls="controls"><source type="video/mp4" src="https://github.blog/wp-content/uploads/2025/02/convertsub-issue.mp4#t=0.001?_=4" /><a href="https://github.blog/wp-content/uploads/2025/02/convertsub-issue.mp4#t=0.001">https://github.blog/wp-content/uploads/2025/02/convertsub-issue.mp4#t=0.001</a></video></div> <h2 id="tasklist-blocks-will-be-retired-and-replaced-with-sub-issues">&#127751; Tasklist blocks will be retired and replaced with sub-issues<a href="#tasklist-blocks-will-be-retired-and-replaced-with-sub-issues" class="heading-link pl-2 text-italic text-bold" aria-label="&#127751; Tasklist blocks will be retired and replaced with sub-issues"></a></h2> <p>The private preview feature, tasklist blocks, will be retired on <strong>April 30, 2025</strong>. Your feedback from the private preview has been invaluable, helping us shape the release of <a href="https://docs.github.com/en/issues/tracking-your-work-with-issues/using-issues/adding-sub-issues">sub-issues</a>, the replacement for tasklist blocks.</p> <p>Sub-issues provide a dedicated section within each issue, making it easier to track related work without relying on Markdown. You can manage up to eight levels of hierarchy within a single issue and monitor progress directly in your projects.</p> <h3 id="migrate-to-sub-issues">Migrate to sub-issues<a href="#migrate-to-sub-issues" class="heading-link pl-2 text-italic text-bold" aria-label="Migrate to sub-issues"></a></h3> <p>We recommend migrating your tasklists to sub-issues before the retirement date.</p> <p>To migrate, first simply remove the tasklist Markdown syntax to display the list as an issue checklist.</p> <pre><code class="language-diff">- ```[tasklist] - - [ ] task 1 - - [ ] https://github.com/github/github/issues/123 - ``` + - [ ] task 1 + - [ ] https://github.com/github/github/issues/123 </code></pre> <p>Then, use the <code>Convert to sub-issue</code> feature to convert desired issues or checklist items into sub-issues.</p> <p>After April 30, 2025, remaining tasklist blocks will no longer be rendered and will instead be converted to raw Markdown. The <code>Tracked</code> and <code>Tracked by</code> fields on projects will no longer be available.</p> <h2 id="single-issue-templates-issue_template-md-will-be-retired">&#127749; Single issue templates (ISSUE_TEMPLATE.md) will be retired<a href="#single-issue-templates-issue_template-md-will-be-retired" class="heading-link pl-2 text-italic text-bold" aria-label="&#127749; Single issue templates (ISSUE_TEMPLATE.md) will be retired"></a></h2> <p>The legacy <code>ISSUE_TEMPLATE.md</code> feature will be retired on <strong>March 30, 2025</strong>. As a replacement, we encourage creating an <code>ISSUE_TEMPLATE/</code> subdirectory in any of the supported folders to store multiple issue templates. You can then use the template query parameter to specify which template should populate the issue body. For more details, see <a href="https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/about-issue-and-pull-request-templates">the documentation</a>.</p> <p>After March 30, 2025, repositories still using <code>ISSUE_TEMPLATE.md</code> will default to a blank issue form, allowing users to start fresh when creating issues.</p> <h2 id="additional-improvements"><g-emoji fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/2728.png?v8" alias="sparkles">&#10024;</g-emoji> Additional improvements<a href="#additional-improvements" class="heading-link pl-2 text-italic text-bold" aria-label="&lt;g-emoji fallback-src=&quot;https://github.githubassets.com/images/icons/emoji/unicode/2728.png?v8&quot; alias=&quot;sparkles&quot;&gt;&#10024;&lt;/g-emoji&gt; Additional improvements"></a></h2> <p>On top of the many bug fixes we&rsquo;ve shipped, we&rsquo;ve also introduced the following improvements:</p> <ul> <li>You can now create new milestones directly from the milestone picker in any issue.</li> <li>The issue template selection will now be bypassed if only one template is available and the blank issue template is disabled.</li> <li>You can now create and edit iteration fields via the <a href="https://docs.github.com/en/graphql/reference/input-objects#updateprojectv2fieldinput">ProjectV2 GraphQL API</a>.</li> <li>We&rsquo;ve introduced a move dialog in Projects, allowing you to rearrange items and views with precision. You can move views from a tab&rsquo;s view options menu, while items can be moved through the row actions menu. This allows users who rely on screen readers, keyboards, and other assistive technology to use projects more accessibly.</li> </ul> <h2 id="tell-us-what-you-think"><g-emoji fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/270d.png?v8" alias="writing_hand">&#9997;</g-emoji> Tell us what you think!<a href="#tell-us-what-you-think" class="heading-link pl-2 text-italic text-bold" aria-label="&lt;g-emoji fallback-src=&quot;https://github.githubassets.com/images/icons/emoji/unicode/270d.png?v8&quot; alias=&quot;writing_hand&quot;&gt;&#9997;&lt;/g-emoji&gt; Tell us what you think!"></a></h2> <p>Join the discussion within the <a href="https://github.com/orgs/community/discussions/categories/announcements">GitHub Community</a>.</p> <p>See how to use GitHub for project planning with <a href="https://github.com/features/issues">GitHub Issues</a>, check out what&rsquo;s on the <a href="https://github.com/orgs/github/projects/4247/views/1">roadmap</a>, and learn more in the <a href="https://docs.github.com/en/issues">documentation</a>.</p> </body></html> </div> <a href="https://github.blog/changelog/2025-02-18-github-issues-projects-february-18th-update" role="button" class="Link--primary d-none d-md-inline-block mt-4 text-bold js-show-trigger" aria-expanded="false" aria-controls="changelog-single-content-82668"> See more <svg class="octicon octicon-chevron-down" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M12.78 6.22a.75.75 0 010 1.06l-4.25 4.25a.75.75 0 01-1.06 0L3.22 7.28a.75.75 0 011.06-1.06L8 9.94l3.72-3.72a.75.75 0 011.06 0z" fill="currentColor"></path></svg> </a> <a href="https://github.blog/changelog/2025-02-18-github-issues-projects-february-18th-update" class="Link--primary d-inline-block d-md-none mt-4 text-bold js-show-trigger-alt"> See more <svg class="octicon octicon-chevron-down" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M12.78 6.22a.75.75 0 010 1.06l-4.25 4.25a.75.75 0 01-1.06 0L3.22 7.28a.75.75 0 011.06-1.06L8 9.94l3.72-3.72a.75.75 0 011.06 0z" fill="currentColor"></path></svg> </a> </div> </div> </article> <article id="changelog-82649" class="d-flex gutter-spacious flex-wrap position-relative changelog-line js-ajax-fetchable post-82649 changelog type-changelog status-publish hentry changelog-label-copilot"> <div class="pb-4 pt-5 pt-md-7 col-12 col-md-5 position-relative"> <div class="changelog-single-details position-sticky top-12"> <svg class="octicon octicon-commit position-absolute left-0 color-bg-default color-fg-muted" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="28" height="28"><path fill-rule="evenodd" d="M15.5 11.75a3.5 3.5 0 11-7 0 3.5 3.5 0 017 0zm1.444-.75a5.001 5.001 0 00-9.888 0H2.75a.75.75 0 100 1.5h4.306a5.001 5.001 0 009.888 0h4.306a.75.75 0 100-1.5h-4.306z" fill="currentColor"></path></svg> <h2 class="h5-mktg"><a class="Link--primary" href="https://github.blog/changelog/2025-02-14-code-completion-in-github-copilot-for-xcode-is-now-generally-available" rel="bookmark">Code completion in GitHub Copilot for Xcode is now generally available</a></h2> <time datetime="2025-02-14" class="d-block f5-mktg text-medium color-fg-muted mt-14px">February 14, 2025</time> <ul class="d-inline-block list-style-none post-hero__categories mt-2"><li class="d-inline-block mr-2 mt-2"><a href="https://github.blog/changelog/label/copilot/" class="f5-mktg pill-label text-gradient-purple-coral text-bold">copilot</a></li></ul> </div> </div> <div class="col-12 col-md-7"> <div class="pb-5 pt-0 py-md-7 changelog-single-content-wrap border-bottom"> <div id="changelog-single-content-82649" class="post__content changelog-single-content js-show-all-target"> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"> <html><body><h1 id="code-completion-in-github-copilot-for-xcode-is-now-generally-available">Code completion in GitHub Copilot for Xcode is now generally available<a href="#code-completion-in-github-copilot-for-xcode-is-now-generally-available" class="heading-link pl-2 text-italic text-bold" aria-label="Code completion in GitHub Copilot for Xcode is now generally available"></a></h1> <p class="has-image"><img decoding="async" alt="GitHub Copilot for Xcode code completion [GA]" src="https://github.com/user-attachments/assets/7d73ef6d-86e2-425f-bcba-3e7c4405bf87" width="800" loading="lazy"></p> <p>Code completion in <a href="https://aka.ms/copilotxcode">GitHub Copilot for Xcode</a> is now generally available. Developers using Xcode can now experience AI-powered, real-time code suggestions that enhance productivity and streamline the development process.</p> <h2 id="ai-powered-code-suggestions-for-faster-development">AI-Powered code suggestions for faster development<a href="#ai-powered-code-suggestions-for-faster-development" class="heading-link pl-2 text-italic text-bold" aria-label="AI-Powered code suggestions for faster development"></a></h2> <p>GitHub Copilot code completion integrates seamlessly into Xcode, offering context-aware suggestions as you type. Whether you&rsquo;re writing function implementations, refactoring code, or handling repetitive tasks, Copilot intelligently predicts and completes your code, allowing you to focus on higher-level development.</p> <p class="has-image"><img decoding="async" alt="Code Completion of GitHub Copilot for Xcode" src="https://github.com/user-attachments/assets/eac5bac9-1231-4f9d-b0be-27f0dac8d4cc" width="800" loading="lazy"></p> <h2 id="key-benefits-of-github-copilot-in-xcode-code-completion">Key benefits of GitHub Copilot in Xcode code completion<a href="#key-benefits-of-github-copilot-in-xcode-code-completion" class="heading-link pl-2 text-italic text-bold" aria-label="Key benefits of GitHub Copilot in Xcode code completion"></a></h2> <ul> <li><strong>Real-time, context-aware code completion:</strong> Copilot provides intelligent, in-line code suggestions as you type, helping you write high-quality code faster. By understanding the context of your project, it predicts and generates relevant code snippets to accelerate your workflow.</li> <li><strong>Seamless integration with Xcode:</strong> Designed to work naturally within Xcode, Copilot enhances the existing coding experience without disrupting your development environment. There&rsquo;s no need for additional setup&mdash;simply enable Copilot and start coding smarter.</li> <li><strong>Reduce repetitive coding tasks:</strong> Instead of manually writing boilerplate code, let Copilot generate common patterns, function definitions, and repetitive logic. This allows you to focus more on complex problem-solving and building innovative features.</li> <li><strong>Intelligent auto-completion for improved accuracy:</strong> Copilot not only speeds up coding. It also improves accuracy by reducing syntax errors and helping ensure best practices. The AI-powered suggestions help maintain clean and efficient code, minimizing debugging time.</li> </ul> <h2 id="get-started-with-github-copilot-in-xcode">Get started with GitHub Copilot in Xcode<a href="#get-started-with-github-copilot-in-xcode" class="heading-link pl-2 text-italic text-bold" aria-label="Get started with GitHub Copilot in Xcode"></a></h2> <p>To get started with GitHub Copilot in Xcode:</p> <ol> <li>Ensure you have a <a href="https://github.com/features/copilot">GitHub Copilot license</a>. </li> <li> <p>Enable Copilot in Xcode via your GitHub account.</p> </li> <li> <p>Start coding with AI-powered assistance today!</p> </li> </ol> <h2 id="experience-the-future-of-ai-assisted-development">Experience the future of AI-assisted development<a href="#experience-the-future-of-ai-assisted-development" class="heading-link pl-2 text-italic text-bold" aria-label="Experience the future of AI-assisted development"></a></h2> <p>With GitHub Copilot, you can write code more efficiently, reduce errors, and enhance your overall development workflow. Try it out today and take your Xcode development to the next level!</p> <p>For more details, visit our <a href="https://docs.github.com/en/copilot/using-github-copilot/getting-code-suggestions-in-your-ide-with-github-copilot?tool=xcode">GitHub Copilot documentation</a> and start leveraging AI-driven coding assistance in Xcode.</p> <h2 id="feedback">Feedback<a href="#feedback" class="heading-link pl-2 text-italic text-bold" aria-label="Feedback"></a></h2> <p>To provide feedback or report issues, please open an issue on GitHub at&#8239;https://github.com/github/CopilotForXcode/issues. Check existing issues and add a comment or ask questions if you find an issue similar to what you&rsquo;re experiencing.</p> <h2 id="join-the-community">Join the community<a href="#join-the-community" class="heading-link pl-2 text-italic text-bold" aria-label="Join the community"></a></h2> <p>Connect with other developers, share tips, and discuss other updates to Copilot in our dedicated <a href="https://github.com/orgs/community/discussions/141898">Copilot&#8239;community discussions</a>.</p> </body></html> </div> <a href="https://github.blog/changelog/2025-02-14-code-completion-in-github-copilot-for-xcode-is-now-generally-available" role="button" class="Link--primary d-none d-md-inline-block mt-4 text-bold js-show-trigger" aria-expanded="false" aria-controls="changelog-single-content-82649"> See more <svg class="octicon octicon-chevron-down" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M12.78 6.22a.75.75 0 010 1.06l-4.25 4.25a.75.75 0 01-1.06 0L3.22 7.28a.75.75 0 011.06-1.06L8 9.94l3.72-3.72a.75.75 0 011.06 0z" fill="currentColor"></path></svg> </a> <a href="https://github.blog/changelog/2025-02-14-code-completion-in-github-copilot-for-xcode-is-now-generally-available" class="Link--primary d-inline-block d-md-none mt-4 text-bold js-show-trigger-alt"> See more <svg class="octicon octicon-chevron-down" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M12.78 6.22a.75.75 0 010 1.06l-4.25 4.25a.75.75 0 01-1.06 0L3.22 7.28a.75.75 0 011.06-1.06L8 9.94l3.72-3.72a.75.75 0 011.06 0z" fill="currentColor"></path></svg> </a> </div> </div> </article> <article id="changelog-82639" class="d-flex gutter-spacious flex-wrap position-relative changelog-line js-ajax-fetchable post-82639 changelog type-changelog status-publish hentry changelog-label-copilot changelog-label-copilot-chat"> <div class="pb-4 pt-5 pt-md-7 col-12 col-md-5 position-relative"> <div class="changelog-single-details position-sticky top-12"> <svg class="octicon octicon-commit position-absolute left-0 color-bg-default color-fg-muted" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="28" height="28"><path fill-rule="evenodd" d="M15.5 11.75a3.5 3.5 0 11-7 0 3.5 3.5 0 017 0zm1.444-.75a5.001 5.001 0 00-9.888 0H2.75a.75.75 0 100 1.5h4.306a5.001 5.001 0 009.888 0h4.306a.75.75 0 100-1.5h-4.306z" fill="currentColor"></path></svg> <h2 class="h5-mktg"><a class="Link--primary" href="https://github.blog/changelog/2025-02-14-personal-custom-instructions-bing-web-search-and-more-in-copilot-on-github-com" rel="bookmark">Personal custom instructions, Bing web search, and more in Copilot on github.com</a></h2> <time datetime="2025-02-14" class="d-block f5-mktg text-medium color-fg-muted mt-14px">February 14, 2025</time> <ul class="d-inline-block list-style-none post-hero__categories mt-2"><li class="d-inline-block mr-2 mt-2"><a href="https://github.blog/changelog/label/copilot/" class="f5-mktg pill-label text-gradient-purple-coral text-bold">copilot</a></li><li class="d-inline-block mr-2 mt-2"><a href="https://github.blog/changelog/label/copilot-chat/" class="f5-mktg pill-label text-gradient-purple-coral text-bold">copilot-chat</a></li></ul> </div> </div> <div class="col-12 col-md-7"> <div class="pb-5 pt-0 py-md-7 changelog-single-content-wrap border-bottom"> <div id="changelog-single-content-82639" class="post__content changelog-single-content js-show-all-target"> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"> <html><body><h3 id="personal-custom-instructions-are-now-available-in-public-preview-for-copilot-on-github-com">Personal custom instructions are now available in public preview for Copilot on github.com <g-emoji fallback-src="https://github.githubassets.com/images/icons/emoji/unicode/1f389.png?v8" alias="tada">&#127881;</g-emoji><a href="#personal-custom-instructions-are-now-available-in-public-preview-for-copilot-on-github-com" class="heading-link pl-2 text-italic text-bold" aria-label="Personal custom instructions are now available in public preview for Copilot on github.com &lt;g-emoji fallback-src=&quot;https://github.githubassets.com/images/icons/emoji/unicode/1f389.png?v8&quot; alias=&quot;tada&quot;&gt;&#127881;&lt;/g-emoji&gt;"></a></h3> <p>Copilot Chat on github.com now supports personal instructions! This means you can provide Copilot with important details about your preferences, such as your preferred language, response style, or even code standards.</p> <p>To get started, open up Copilot Chat, click <code>...</code>, and select <code>Personal instructions</code>. That&rsquo;s it! Copilot will now incorporate your preferences for all chats in github.com.</p> <p>&#128161; Looking for ideas? Here are some examples to kick things off:</p> <ul> <li>Language preferences: &ldquo;Always respond in Portuguese.&rdquo;</li> <li>Response preferences: &ldquo;Be concise and to-the-point. Always cite your sources.&rdquo;</li> <li>Personal preferences: &ldquo;You are a seasoned React developer with ten years of experience.&rdquo;</li> <li>Code preferences: &ldquo;Always provide examples in TypeScript.&rdquo;</li> </ul> <p>Looking for more? Visit prompts.chat for more inspiration.</p> <h3 id="search-the-web-in-copilot-chat-using-bing">Search the web &#128269; in Copilot chat using Bing<a href="#search-the-web-in-copilot-chat-using-bing" class="heading-link pl-2 text-italic text-bold" aria-label="Search the web &#128269; in Copilot chat using Bing"></a></h3> <p>Copilot Chat can now search Bing to answer questions and find information beyond its general knowledge or your codebase. This feature makes it easy to chat about recent events, trends, and new developments. It&rsquo;s now generally available in VS Code, Visual Studio, and github.com.</p> <p>Since our public preview, we&rsquo;ve enhanced our web search capabilities to deliver more relevant and accurate responses to your questions.</p> <p>Give it a try today:</p> <ul> <li>&ldquo;What&rsquo;s the latest version of React?&rdquo;</li> <li>&ldquo;What are the most recent updates in Python&rsquo;s machine learning libraries?&rdquo;</li> </ul> <h3 id="quality-improvements-to-copilot-chat">Quality improvements to Copilot Chat<a href="#quality-improvements-to-copilot-chat" class="heading-link pl-2 text-italic text-bold" aria-label="Quality improvements to Copilot Chat"></a></h3> <p>In the last month, we have delivered a collection of quick wins and subtle enhancements &#10024;, making the product smoother and more delightful for everyone.</p> <p>What&rsquo;s new:</p> <ul> <li>Better search in Copilot Chat for more relevant and complete answers, including expanded lexical search results and larger semantic search responses for better context</li> <li>Improved memory in Copilot, now keeping more of your chat history for better context and flow</li> <li>Improved Copilot Chat&rsquo;s awareness of the README.md when asking about a repository</li> <li>Enhanced Copilot&rsquo;s awareness of time, showing times relative to you instead of UTC</li> </ul> <p>We also recently added the ability to <a href="https://github.blog/changelog/2025-02-05-view-and-iterate-on-generated-files-directly-within-copilot-chat-preview/">view and generate new code files</a> to Copilot chat at <a href="https://github.com/copilot">github.com/copilot</a> &ndash; check it out!</p> </body></html> </div> <a href="https://github.blog/changelog/2025-02-14-personal-custom-instructions-bing-web-search-and-more-in-copilot-on-github-com" role="button" class="Link--primary d-none d-md-inline-block mt-4 text-bold js-show-trigger" aria-expanded="false" aria-controls="changelog-single-content-82639"> See more <svg class="octicon octicon-chevron-down" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M12.78 6.22a.75.75 0 010 1.06l-4.25 4.25a.75.75 0 01-1.06 0L3.22 7.28a.75.75 0 011.06-1.06L8 9.94l3.72-3.72a.75.75 0 011.06 0z" fill="currentColor"></path></svg> </a> <a href="https://github.blog/changelog/2025-02-14-personal-custom-instructions-bing-web-search-and-more-in-copilot-on-github-com" class="Link--primary d-inline-block d-md-none mt-4 text-bold js-show-trigger-alt"> See more <svg class="octicon octicon-chevron-down" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M12.78 6.22a.75.75 0 010 1.06l-4.25 4.25a.75.75 0 01-1.06 0L3.22 7.28a.75.75 0 011.06-1.06L8 9.94l3.72-3.72a.75.75 0 011.06 0z" fill="currentColor"></path></svg> </a> </div> </div> </article> <article id="changelog-82633" class="d-flex gutter-spacious flex-wrap position-relative changelog-line js-ajax-fetchable post-82633 changelog type-changelog status-publish hentry changelog-label-copilot"> <div class="pb-4 pt-5 pt-md-7 col-12 col-md-5 position-relative"> <div class="changelog-single-details position-sticky top-12"> <svg class="octicon octicon-commit position-absolute left-0 color-bg-default color-fg-muted" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="28" height="28"><path fill-rule="evenodd" d="M15.5 11.75a3.5 3.5 0 11-7 0 3.5 3.5 0 017 0zm1.444-.75a5.001 5.001 0 00-9.888 0H2.75a.75.75 0 100 1.5h4.306a5.001 5.001 0 009.888 0h4.306a.75.75 0 100-1.5h-4.306z" fill="currentColor"></path></svg> <h2 class="h5-mktg"><a class="Link--primary" href="https://github.blog/changelog/2025-02-14-copilot-workspace-follow-ups-and-file-search-improvements" rel="bookmark">Copilot Workspace: Follow ups and file search improvements</a></h2> <time datetime="2025-02-14" class="d-block f5-mktg text-medium color-fg-muted mt-14px">February 14, 2025</time> <ul class="d-inline-block list-style-none post-hero__categories mt-2"><li class="d-inline-block mr-2 mt-2"><a href="https://github.blog/changelog/label/copilot/" class="f5-mktg pill-label text-gradient-purple-coral text-bold">copilot</a></li></ul> </div> </div> <div class="col-12 col-md-7"> <div class="pb-5 pt-0 py-md-7 changelog-single-content-wrap border-bottom"> <div id="changelog-single-content-82633" class="post__content changelog-single-content js-show-all-target"> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"> <html><body><p class="has-image"><img decoding="async" src="https://github.com/user-attachments/assets/31cd03f4-1552-450f-9172-fd73ef7f21c5" alt="Copilot Workspace Changelog Header" loading="lazy"></p> <p>This week&rsquo;s Copilot Workspace updates center around improving multi-file code generation and search capabilities. Alongside continued improvements to performance and reliability, we are releasing two features: follow ups and a simplified file search experience.</p> <p>Let&rsquo;s dive in!</p> <h3 id="follow-ups">Follow ups<a href="#follow-ups" class="heading-link pl-2 text-italic text-bold" aria-label="Follow ups"></a></h3> <p>When you&rsquo;re working within a large repository that has complex file dependencies, even simple changes can have significant impacts across the codebase. Invoking Copilot Workspace&rsquo;s new follow up capability triggers a thorough check across the codebase, automatically editing the necessary files if any follow ups are detected.</p> <div style="width: 3316px;" class="wp-video"><video class="wp-video-shortcode" id="video-82633-5" width="3316" height="2160" preload="metadata" controls="controls"><source type="video/mp4" src="https://github.blog/wp-content/uploads/2025/02/follow_up_edited.mp4#t=0.001?_=5" /><a href="https://github.blog/wp-content/uploads/2025/02/follow_up_edited.mp4#t=0.001">https://github.blog/wp-content/uploads/2025/02/follow_up_edited.mp4#t=0.001</a></video></div> <p>Whether you have changed a function name, modified function parameters, or modified a shared class definition, Copilot&rsquo;s follow ups can swiftly handle dependent fixes across your repository, saving you time and increasing confidence in your changes before you raise a PR!</p> <h3 id="file-search-experience-improvements">File search experience improvements<a href="#file-search-experience-improvements" class="heading-link pl-2 text-italic text-bold" aria-label="File search experience improvements"></a></h3> <p>We&rsquo;ve updated the file search experience to help you maintain context in your file tree while searching for other files to open. Rather than filtering the file tree on search, we now return results in a separate menu that searches the entire repository rather than what is currently visible in the tree. You can open files in new tabs directly from this search.</p> <div style="width: 3840px;" class="wp-video"><video class="wp-video-shortcode" id="video-82633-6" width="3840" height="2008" preload="metadata" controls="controls"><source type="video/mp4" src="https://github.blog/wp-content/uploads/2025/02/File_search_experience.mp4#t=0.001?_=6" /><a href="https://github.blog/wp-content/uploads/2025/02/File_search_experience.mp4#t=0.001">https://github.blog/wp-content/uploads/2025/02/File_search_experience.mp4#t=0.001</a></video></div> <h3 id="providing-feedback">Providing feedback<a href="#providing-feedback" class="heading-link pl-2 text-italic text-bold" aria-label="Providing feedback"></a></h3> <p>Please give your feedback in our <a href="https://gh.io/workspace-feedback">GitHub Discussion</a>. We&rsquo;d love to hear your thoughts!</p> </body></html> </div> <a href="https://github.blog/changelog/2025-02-14-copilot-workspace-follow-ups-and-file-search-improvements" role="button" class="Link--primary d-none d-md-inline-block mt-4 text-bold js-show-trigger" aria-expanded="false" aria-controls="changelog-single-content-82633"> See more <svg class="octicon octicon-chevron-down" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M12.78 6.22a.75.75 0 010 1.06l-4.25 4.25a.75.75 0 01-1.06 0L3.22 7.28a.75.75 0 011.06-1.06L8 9.94l3.72-3.72a.75.75 0 011.06 0z" fill="currentColor"></path></svg> </a> <a href="https://github.blog/changelog/2025-02-14-copilot-workspace-follow-ups-and-file-search-improvements" class="Link--primary d-inline-block d-md-none mt-4 text-bold js-show-trigger-alt"> See more <svg class="octicon octicon-chevron-down" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M12.78 6.22a.75.75 0 010 1.06l-4.25 4.25a.75.75 0 01-1.06 0L3.22 7.28a.75.75 0 011.06-1.06L8 9.94l3.72-3.72a.75.75 0 011.06 0z" fill="currentColor"></path></svg> </a> </div> </div> </article> <article id="changelog-82632" class="d-flex gutter-spacious flex-wrap position-relative changelog-line js-ajax-fetchable post-82632 changelog type-changelog status-publish hentry changelog-label-advanced-security changelog-label-secret-scanning changelog-label-security-and-compliance"> <div class="pb-4 pt-5 pt-md-7 col-12 col-md-5 position-relative"> <div class="changelog-single-details position-sticky top-12"> <svg class="octicon octicon-commit position-absolute left-0 color-bg-default color-fg-muted" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="28" height="28"><path fill-rule="evenodd" d="M15.5 11.75a3.5 3.5 0 11-7 0 3.5 3.5 0 017 0zm1.444-.75a5.001 5.001 0 00-9.888 0H2.75a.75.75 0 100 1.5h4.306a5.001 5.001 0 009.888 0h4.306a.75.75 0 100-1.5h-4.306z" fill="currentColor"></path></svg> <h2 class="h5-mktg"><a class="Link--primary" href="https://github.blog/changelog/2025-02-14-secret-scanning-detects-base64-encoded-github-tokens" rel="bookmark">Secret scanning detects Base64-encoded GitHub tokens</a></h2> <time datetime="2025-02-14" class="d-block f5-mktg text-medium color-fg-muted mt-14px">February 14, 2025</time> <ul class="d-inline-block list-style-none post-hero__categories mt-2"><li class="d-inline-block mr-2 mt-2"><a href="https://github.blog/changelog/label/advanced-security/" class="f5-mktg pill-label text-gradient-purple-coral text-bold">advanced-security</a></li><li class="d-inline-block mr-2 mt-2"><a href="https://github.blog/changelog/label/secret-scanning/" class="f5-mktg pill-label text-gradient-purple-coral text-bold">secret-scanning</a></li><li class="d-inline-block mr-2 mt-2"><a href="https://github.blog/changelog/label/security-and-compliance/" class="f5-mktg pill-label text-gradient-purple-coral text-bold">security-and-compliance</a></li></ul> </div> </div> <div class="col-12 col-md-7"> <div class="pb-5 pt-0 py-md-7 changelog-single-content-wrap border-bottom"> <div id="changelog-single-content-82632" class="post__content changelog-single-content js-show-all-target"> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"> <html><body><p>GitHub continually updates its detectors for secret scanning with new patterns and upgrades of existing patterns, ensuring your repositories have comprehensive detection for different secret types.</p> <p>GitHub now automatically detects Base64-encoded secrets for the following token types:</p> <ul> <li>GitHub personal access tokens</li> <li>GitHub OAuth access tokens</li> <li>GitHub user to server tokens</li> <li>GitHub server to server tokens.</li> </ul> <p>GitHub secret scanning protects users by searching repositories for known types of secrets such as tokens and private keys. By identifying and flagging these secrets, our scans help prevent data leaks and fraud. See the full list of supported secrets in the documentation.</p> <p><a href="https://docs.github.com/github/administering-a-repository/about-secret-scanning">Learn more about secret scanning</a> or <a href="https://github.com/orgs/community/discussions/categories/code-security">join the discussion</a> on our dedicated GitHub community.</p> </body></html> </div> <a href="https://github.blog/changelog/2025-02-14-secret-scanning-detects-base64-encoded-github-tokens" role="button" class="Link--primary d-none d-md-inline-block mt-4 text-bold js-show-trigger" aria-expanded="false" aria-controls="changelog-single-content-82632"> See more <svg class="octicon octicon-chevron-down" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M12.78 6.22a.75.75 0 010 1.06l-4.25 4.25a.75.75 0 01-1.06 0L3.22 7.28a.75.75 0 011.06-1.06L8 9.94l3.72-3.72a.75.75 0 011.06 0z" fill="currentColor"></path></svg> </a> <a href="https://github.blog/changelog/2025-02-14-secret-scanning-detects-base64-encoded-github-tokens" class="Link--primary d-inline-block d-md-none mt-4 text-bold js-show-trigger-alt"> See more <svg class="octicon octicon-chevron-down" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M12.78 6.22a.75.75 0 010 1.06l-4.25 4.25a.75.75 0 01-1.06 0L3.22 7.28a.75.75 0 011.06-1.06L8 9.94l3.72-3.72a.75.75 0 011.06 0z" fill="currentColor"></path></svg> </a> </div> </div> </article> <article id="changelog-82630" class="d-flex gutter-spacious flex-wrap position-relative changelog-line js-ajax-fetchable post-82630 changelog type-changelog status-publish hentry changelog-label-community changelog-label-feed changelog-label-ui"> <div class="pb-4 pt-5 pt-md-7 col-12 col-md-5 position-relative"> <div class="changelog-single-details position-sticky top-12"> <svg class="octicon octicon-commit position-absolute left-0 color-bg-default color-fg-muted" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="28" height="28"><path fill-rule="evenodd" d="M15.5 11.75a3.5 3.5 0 11-7 0 3.5 3.5 0 017 0zm1.444-.75a5.001 5.001 0 00-9.888 0H2.75a.75.75 0 100 1.5h4.306a5.001 5.001 0 009.888 0h4.306a.75.75 0 100-1.5h-4.306z" fill="currentColor"></path></svg> <h2 class="h5-mktg"><a class="Link--primary" href="https://github.blog/changelog/2025-02-14-reverting-feed-activity-sorting-back-to-chronological-ordering" rel="bookmark">Feed activity is now sorted chronologically</a></h2> <time datetime="2025-02-14" class="d-block f5-mktg text-medium color-fg-muted mt-14px">February 14, 2025</time> <ul class="d-inline-block list-style-none post-hero__categories mt-2"><li class="d-inline-block mr-2 mt-2"><a href="https://github.blog/changelog/label/community/" class="f5-mktg pill-label text-gradient-purple-coral text-bold">community</a></li><li class="d-inline-block mr-2 mt-2"><a href="https://github.blog/changelog/label/feed/" class="f5-mktg pill-label text-gradient-purple-coral text-bold">feed</a></li><li class="d-inline-block mr-2 mt-2"><a href="https://github.blog/changelog/label/ui/" class="f5-mktg pill-label text-gradient-purple-coral text-bold">ui</a></li></ul> </div> </div> <div class="col-12 col-md-7"> <div class="pb-5 pt-0 py-md-7 changelog-single-content-wrap border-bottom"> <div id="changelog-single-content-82630" class="post__content changelog-single-content js-show-all-target"> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"> <html><body><p>In your homepage activity Feed, you can see activity from other users, content GitHub recommends for you in &ldquo;Suggested for you&rdquo; modules, and trending developers/repositories.</p> <p>The sorting algorithm we&rsquo;ve had in place in the Feed could lead to these items being placed out of chronological sequence. We&rsquo;ve heard your feedback, though, that the out-of-sequence ordering of activity can make it difficult to be effective with daily tasks in GitHub.</p> <p>So now, we&rsquo;re sorting all activity in the Feed chronologically. The newest activity appears first and older activity appears as you scroll down your Feed.</p> <p>As part of this change, we also merged the design and UI to be more consistent across individual feeds and organization feeds, by slightly modifying the card layout in organization feeds. These minor template differences should not impact the content that appears for you.</p> <h4 id="learn-more-and-give-us-your-feedback">Learn more and give us your feedback<a href="#learn-more-and-give-us-your-feedback" class="heading-link pl-2 text-italic text-bold" aria-label="Learn more and give us your feedback"></a></h4> <p>For more information and discussion on these changes, join us in this <a href="https://github.com/orgs/community/discussions/141611">discussion</a>.</p> </body></html> </div> <a href="https://github.blog/changelog/2025-02-14-reverting-feed-activity-sorting-back-to-chronological-ordering" role="button" class="Link--primary d-none d-md-inline-block mt-4 text-bold js-show-trigger" aria-expanded="false" aria-controls="changelog-single-content-82630"> See more <svg class="octicon octicon-chevron-down" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M12.78 6.22a.75.75 0 010 1.06l-4.25 4.25a.75.75 0 01-1.06 0L3.22 7.28a.75.75 0 011.06-1.06L8 9.94l3.72-3.72a.75.75 0 011.06 0z" fill="currentColor"></path></svg> </a> <a href="https://github.blog/changelog/2025-02-14-reverting-feed-activity-sorting-back-to-chronological-ordering" class="Link--primary d-inline-block d-md-none mt-4 text-bold js-show-trigger-alt"> See more <svg class="octicon octicon-chevron-down" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M12.78 6.22a.75.75 0 010 1.06l-4.25 4.25a.75.75 0 01-1.06 0L3.22 7.28a.75.75 0 011.06-1.06L8 9.94l3.72-3.72a.75.75 0 011.06 0z" fill="currentColor"></path></svg> </a> </div> </div> </article> <article id="changelog-82624" class="d-flex gutter-spacious flex-wrap position-relative changelog-line js-ajax-fetchable post-82624 changelog type-changelog status-publish hentry changelog-label-enterprise"> <div class="pb-4 pt-5 pt-md-7 col-12 col-md-5 position-relative"> <div class="changelog-single-details position-sticky top-12"> <svg class="octicon octicon-commit position-absolute left-0 color-bg-default color-fg-muted" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="28" height="28"><path fill-rule="evenodd" d="M15.5 11.75a3.5 3.5 0 11-7 0 3.5 3.5 0 017 0zm1.444-.75a5.001 5.001 0 00-9.888 0H2.75a.75.75 0 100 1.5h4.306a5.001 5.001 0 009.888 0h4.306a.75.75 0 100-1.5h-4.306z" fill="currentColor"></path></svg> <h2 class="h5-mktg"><a class="Link--primary" href="https://github.blog/changelog/2025-02-14-verify-email-address-to-secure-enterprise-managed-user-accounts" rel="bookmark">Verify email address to secure Enterprise Managed User accounts</a></h2> <time datetime="2025-02-14" class="d-block f5-mktg text-medium color-fg-muted mt-14px">February 14, 2025</time> <ul class="d-inline-block list-style-none post-hero__categories mt-2"><li class="d-inline-block mr-2 mt-2"><a href="https://github.blog/changelog/label/enterprise/" class="f5-mktg pill-label text-gradient-purple-coral text-bold">enterprise</a></li></ul> </div> </div> <div class="col-12 col-md-7"> <div class="pb-5 pt-0 py-md-7 changelog-single-content-wrap border-bottom"> <div id="changelog-single-content-82624" class="post__content changelog-single-content js-show-all-target"> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"> <html><body><p>As <a href="https://github.blog/changelog/2024-08-01-enterprise-managed-user-accounts-now-require-email-verification/">previously announced</a>, Enterprise Managed Users (EMUs) must now prove ownership of their email addresses to secure their accounts and prevent any accidental data leaks by third party GitHub Apps and OAuth applications. In January 2025, we also updated <a href="https://docs.github.com/en/rest/users/emails?apiVersion=2022-11-28#list-email-addresses-for-the-authenticated-user">the <code>/user/emails</code> REST endpoint</a> to return a placeholder email address with the enterprise&rsquo;s shortcode appended (e.g. <code>email+shortcode@domain.com</code>) until the EMU user has verified their email address.</p> <p>While unverified emails may not affect most of your actions on GitHub, some GitHub Apps and OAuth apps may not handle this placeholder email properly. This may prevent you from accessing those apps or result in incomplete data being displayed. These apps may also prompt you to verify your email on GitHub before proceeding.</p> <p>For example, GitHub Desktop might incorrectly prompt users to update their email in their Git config to their placeholder email. However, updating your Git config email could lead to commit misattribution as opposed to fixing it. While this experience is updated in <a href="https://github.com/desktop/desktop/releases/tag/release-3.4.17-beta3">GitHub Desktop v3.4.17-beta3</a>, we recommend users <a href="https://docs.github.com/en/enterprise-cloud@latest/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-email-preferences/verifying-your-email-address">verify their email address</a> in response to such prompts.</p> <p>Learn more about <a href="https://docs.github.com/en/enterprise-cloud@latest/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-email-preferences/verifying-your-email-address">how to verify your email address</a>.<br> App developers should also review our <a href="https://docs.github.com/en/apps/oauth-apps/building-oauth-apps/best-practices-for-creating-an-oauth-app">best practices for OAuth</a> and <a href="https://docs.github.com/en/apps/creating-github-apps/about-creating-github-apps/best-practices-for-creating-a-github-app">GitHub App</a> implementation to avoid disrupting the user experience in your apps.</p> </body></html> </div> <a href="https://github.blog/changelog/2025-02-14-verify-email-address-to-secure-enterprise-managed-user-accounts" role="button" class="Link--primary d-none d-md-inline-block mt-4 text-bold js-show-trigger" aria-expanded="false" aria-controls="changelog-single-content-82624"> See more <svg class="octicon octicon-chevron-down" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M12.78 6.22a.75.75 0 010 1.06l-4.25 4.25a.75.75 0 01-1.06 0L3.22 7.28a.75.75 0 011.06-1.06L8 9.94l3.72-3.72a.75.75 0 011.06 0z" fill="currentColor"></path></svg> </a> <a href="https://github.blog/changelog/2025-02-14-verify-email-address-to-secure-enterprise-managed-user-accounts" class="Link--primary d-inline-block d-md-none mt-4 text-bold js-show-trigger-alt"> See more <svg class="octicon octicon-chevron-down" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M12.78 6.22a.75.75 0 010 1.06l-4.25 4.25a.75.75 0 01-1.06 0L3.22 7.28a.75.75 0 011.06-1.06L8 9.94l3.72-3.72a.75.75 0 011.06 0z" fill="currentColor"></path></svg> </a> </div> </div> </article> <article id="changelog-82616" class="d-flex gutter-spacious flex-wrap position-relative changelog-line js-ajax-fetchable post-82616 changelog type-changelog status-publish hentry changelog-label-repositories changelog-label-rules"> <div class="pb-4 pt-5 pt-md-7 col-12 col-md-5 position-relative"> <div class="changelog-single-details position-sticky top-12"> <svg class="octicon octicon-commit position-absolute left-0 color-bg-default color-fg-muted" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="28" height="28"><path fill-rule="evenodd" d="M15.5 11.75a3.5 3.5 0 11-7 0 3.5 3.5 0 017 0zm1.444-.75a5.001 5.001 0 00-9.888 0H2.75a.75.75 0 100 1.5h4.306a5.001 5.001 0 009.888 0h4.306a.75.75 0 100-1.5h-4.306z" fill="currentColor"></path></svg> <h2 class="h5-mktg"><a class="Link--primary" href="https://github.blog/changelog/2025-02-13-repositories-ruleset-history-import-and-export-are-generally-available" rel="bookmark">Repositories: Ruleset history, import and export are generally available</a></h2> <time datetime="2025-02-13" class="d-block f5-mktg text-medium color-fg-muted mt-14px">February 13, 2025</time> <ul class="d-inline-block list-style-none post-hero__categories mt-2"><li class="d-inline-block mr-2 mt-2"><a href="https://github.blog/changelog/label/repositories/" class="f5-mktg pill-label text-gradient-purple-coral text-bold">repositories</a></li><li class="d-inline-block mr-2 mt-2"><a href="https://github.blog/changelog/label/rules/" class="f5-mktg pill-label text-gradient-purple-coral text-bold">rules</a></li></ul> </div> </div> <div class="col-12 col-md-7"> <div class="pb-5 pt-0 py-md-7 changelog-single-content-wrap border-bottom"> <div id="changelog-single-content-82616" class="post__content changelog-single-content js-show-all-target"> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"> <html><body><p class="has-image"><img decoding="async" src="https://github.com/user-attachments/assets/4c71a3da-05ee-41e0-afd7-73ca101e81c3" alt="Screenshot of repository ruleset menu showing history and export." loading="lazy"></p> <ul> <li>Import and export makes it easy to share and reuse rulesets, including our collection of <a href="https://github.com/github/ruleset-recipes">ruleset-recipes</a> to help get you started.</li> <li>Ruleset history allows administrators of GitHub Enterprise to easily track and rollback changes in the ruleset UI and API.</li> </ul> <p>To learn more, check out the <a href="https://docs.github.com/en/enterprise-cloud@latest/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/about-rulesets">ruleset documentation</a>. You can also join our <a href="https://github.com/orgs/community/discussions/categories/repositories">community discussions</a>.</p> </body></html> </div> <a href="https://github.blog/changelog/2025-02-13-repositories-ruleset-history-import-and-export-are-generally-available" role="button" class="Link--primary d-none d-md-inline-block mt-4 text-bold js-show-trigger" aria-expanded="false" aria-controls="changelog-single-content-82616"> See more <svg class="octicon octicon-chevron-down" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M12.78 6.22a.75.75 0 010 1.06l-4.25 4.25a.75.75 0 01-1.06 0L3.22 7.28a.75.75 0 011.06-1.06L8 9.94l3.72-3.72a.75.75 0 011.06 0z" fill="currentColor"></path></svg> </a> <a href="https://github.blog/changelog/2025-02-13-repositories-ruleset-history-import-and-export-are-generally-available" class="Link--primary d-inline-block d-md-none mt-4 text-bold js-show-trigger-alt"> See more <svg class="octicon octicon-chevron-down" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M12.78 6.22a.75.75 0 010 1.06l-4.25 4.25a.75.75 0 01-1.06 0L3.22 7.28a.75.75 0 011.06-1.06L8 9.94l3.72-3.72a.75.75 0 011.06 0z" fill="currentColor"></path></svg> </a> </div> </div> </article> <article id="changelog-82603" class="d-flex gutter-spacious flex-wrap position-relative changelog-line js-ajax-fetchable post-82603 changelog type-changelog status-publish hentry changelog-label-copilot"> <div class="pb-4 pt-5 pt-md-7 col-12 col-md-5 position-relative"> <div class="changelog-single-details position-sticky top-12"> <svg class="octicon octicon-commit position-absolute left-0 color-bg-default color-fg-muted" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="28" height="28"><path fill-rule="evenodd" d="M15.5 11.75a3.5 3.5 0 11-7 0 3.5 3.5 0 017 0zm1.444-.75a5.001 5.001 0 00-9.888 0H2.75a.75.75 0 100 1.5h4.306a5.001 5.001 0 009.888 0h4.306a.75.75 0 100-1.5h-4.306z" fill="currentColor"></path></svg> <h2 class="h5-mktg"><a class="Link--primary" href="https://github.blog/changelog/2025-02-13-github-copilot-for-xcode-chat-now-in-public-preview" rel="bookmark">GitHub Copilot Chat for Xcode now in public preview</a></h2> <time datetime="2025-02-13" class="d-block f5-mktg text-medium color-fg-muted mt-14px">February 13, 2025</time> <ul class="d-inline-block list-style-none post-hero__categories mt-2"><li class="d-inline-block mr-2 mt-2"><a href="https://github.blog/changelog/label/copilot/" class="f5-mktg pill-label text-gradient-purple-coral text-bold">copilot</a></li></ul> </div> </div> <div class="col-12 col-md-7"> <div class="pb-5 pt-0 py-md-7 changelog-single-content-wrap border-bottom"> <div id="changelog-single-content-82603" class="post__content changelog-single-content js-show-all-target"> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"> <html><body><p><strong>GitHub Copilot Chat for Xcode</strong> is now in <strong>public preview</strong>! You can enable GitHub Copilot in Xcode with any <a href="https://github.com/features/copilot">GitHub account</a> and experience both code completions and in-editor chat assistance today.</p> <h2 id="whats-new">What&rsquo;s new<a href="#whats-new" class="heading-link pl-2 text-italic text-bold" aria-label="What&rsquo;s new"></a></h2> <ul> <li><strong>Chat view</strong>: Ask Copilot for help with coding tasks directly in the chat view. </li> <li><strong>Slash commands</strong>: Use quick commands, like <code>/explain</code> for code explanations. </li> <li><strong>Reference code</strong>: Scope chats to specific files for more relevant assistance. </li> <li><strong>Multiple conversations</strong>: Maintain different threads, each with their own context. </li> <li><strong>Chat history management</strong>: Keep track of past conversations for future reference. </li> <li><strong>Free access</strong>: Get <a href="https://github.com/copilot">2,000 code completions and 50 chat messages</a> per month for free, simply by signing in with your GitHub account or by creating a new one. </li> </ul> <h2 id="try-it-out">Try it out<a href="#try-it-out" class="heading-link pl-2 text-italic text-bold" aria-label="Try it out"></a></h2> <ul> <li>To access GitHub Copilot Chat for Xcode, you&rsquo;ll need a <a href="https://github.com/features/copilot">Copilot license</a>. </li> <li> <p>Follow the steps outlined in the <a href="https://aka.ms/copilotxcode">Getting Started guide</a>.</p> </li> </ul> <h2 id="share-your-feedback">Share your feedback<a href="#share-your-feedback" class="heading-link pl-2 text-italic text-bold" aria-label="Share your feedback"></a></h2> <p>Your feedback drives improvements. Let us know what you think using the in-product feedback option, or share your thoughts with the <a href="https://github.com/orgs/community/discussions/151295">GitHub Community</a>.<br> Join us on this journey as we continue to enhance GitHub Copilot for Xcode and deliver a smoother developer workflow!</p> </body></html> </div> <a href="https://github.blog/changelog/2025-02-13-github-copilot-for-xcode-chat-now-in-public-preview" role="button" class="Link--primary d-none d-md-inline-block mt-4 text-bold js-show-trigger" aria-expanded="false" aria-controls="changelog-single-content-82603"> See more <svg class="octicon octicon-chevron-down" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M12.78 6.22a.75.75 0 010 1.06l-4.25 4.25a.75.75 0 01-1.06 0L3.22 7.28a.75.75 0 011.06-1.06L8 9.94l3.72-3.72a.75.75 0 011.06 0z" fill="currentColor"></path></svg> </a> <a href="https://github.blog/changelog/2025-02-13-github-copilot-for-xcode-chat-now-in-public-preview" class="Link--primary d-inline-block d-md-none mt-4 text-bold js-show-trigger-alt"> See more <svg class="octicon octicon-chevron-down" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M12.78 6.22a.75.75 0 010 1.06l-4.25 4.25a.75.75 0 01-1.06 0L3.22 7.28a.75.75 0 011.06-1.06L8 9.94l3.72-3.72a.75.75 0 011.06 0z" fill="currentColor"></path></svg> </a> </div> </div> </article> <article id="changelog-82602" class="d-flex gutter-spacious flex-wrap position-relative changelog-line js-ajax-fetchable post-82602 changelog type-changelog status-publish hentry changelog-label-copilot"> <div class="pb-4 pt-5 pt-md-7 col-12 col-md-5 position-relative"> <div class="changelog-single-details position-sticky top-12"> <svg class="octicon octicon-commit position-absolute left-0 color-bg-default color-fg-muted" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="28" height="28"><path fill-rule="evenodd" d="M15.5 11.75a3.5 3.5 0 11-7 0 3.5 3.5 0 017 0zm1.444-.75a5.001 5.001 0 00-9.888 0H2.75a.75.75 0 100 1.5h4.306a5.001 5.001 0 009.888 0h4.306a.75.75 0 100-1.5h-4.306z" fill="currentColor"></path></svg> <h2 class="h5-mktg"><a class="Link--primary" href="https://github.blog/changelog/2025-02-13-github-copilot-code-completions-now-in-public-preview-for-eclipse" rel="bookmark">GitHub Copilot code completions now in public preview for Eclipse</a></h2> <time datetime="2025-02-13" class="d-block f5-mktg text-medium color-fg-muted mt-14px">February 13, 2025</time> <ul class="d-inline-block list-style-none post-hero__categories mt-2"><li class="d-inline-block mr-2 mt-2"><a href="https://github.blog/changelog/label/copilot/" class="f5-mktg pill-label text-gradient-purple-coral text-bold">copilot</a></li></ul> </div> </div> <div class="col-12 col-md-7"> <div class="pb-5 pt-0 py-md-7 changelog-single-content-wrap border-bottom"> <div id="changelog-single-content-82602" class="post__content changelog-single-content js-show-all-target"> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"> <html><body><p>We&rsquo;re excited to announce that <strong>code completions with GitHub Copilot in Eclipse</strong> are now in <strong>public preview</strong>! You can enable GitHub Copilot in Eclipse with any <a href="https://github.com/features/copilot">GitHub account</a> and start experiencing AI-powered code completion today.</p> <h2 id="whats-new">What&rsquo;s new<a href="#whats-new" class="heading-link pl-2 text-italic text-bold" aria-label="What&rsquo;s new"></a></h2> <ul> <li><strong>Code completions</strong>: Copilot is now seamlessly integrated into Eclipse, offering real-time, context-aware code suggestions as you type. </li> <li><strong>Multi-language support</strong>: GitHub Copilot for Eclipse supports a wide range of programming languages, including Java, Python, C++, and more. This enables developers across different tech stacks to leverage Copilot&rsquo;s AI-powered assistance. </li> <li><strong>Content filtering</strong>: Copilot incorporates advanced filtering mechanisms to screen out harmful or inappropriate content, helping ensure professional and responsible code recommendations. </li> <li><strong>Free Tier</strong>: You will have <a href="https://github.com/copilot">2,000 code completions and 50 chat messages</a> per month, simply by signing in with your personal GitHub account or by creating a new one. </li> </ul> <h2 id="try-it-out">Try it out<a href="#try-it-out" class="heading-link pl-2 text-italic text-bold" aria-label="Try it out"></a></h2> <ul> <li>To access GitHub Copilot for Eclipse, you&rsquo;ll need a <a href="https://github.com/features/copilot">Copilot license</a>. </li> <li>Get started today by installing GitHub Copilot on the <a href="https://aka.ms/copiloteclipse">Eclipse Marketplace</a>. </li> </ul> <h2 id="share-your-feedback">Share your feedback<a href="#share-your-feedback" class="heading-link pl-2 text-italic text-bold" aria-label="Share your feedback"></a></h2> <p>Your feedback drives our improvement! Let us know what you think using the in-product feedback option or share your thoughts with the <a href="https://github.com/orgs/community/discussions/151288">GitHub Community</a>.<br> Join us on this journey as we continue to enhance GitHub Copilot for Eclipse and deliver a smoother developer workflow!</p> </body></html> </div> <a href="https://github.blog/changelog/2025-02-13-github-copilot-code-completions-now-in-public-preview-for-eclipse" role="button" class="Link--primary d-none d-md-inline-block mt-4 text-bold js-show-trigger" aria-expanded="false" aria-controls="changelog-single-content-82602"> See more <svg class="octicon octicon-chevron-down" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M12.78 6.22a.75.75 0 010 1.06l-4.25 4.25a.75.75 0 01-1.06 0L3.22 7.28a.75.75 0 011.06-1.06L8 9.94l3.72-3.72a.75.75 0 011.06 0z" fill="currentColor"></path></svg> </a> <a href="https://github.blog/changelog/2025-02-13-github-copilot-code-completions-now-in-public-preview-for-eclipse" class="Link--primary d-inline-block d-md-none mt-4 text-bold js-show-trigger-alt"> See more <svg class="octicon octicon-chevron-down" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M12.78 6.22a.75.75 0 010 1.06l-4.25 4.25a.75.75 0 01-1.06 0L3.22 7.28a.75.75 0 011.06-1.06L8 9.94l3.72-3.72a.75.75 0 011.06 0z" fill="currentColor"></path></svg> </a> </div> </div> </article> <article id="changelog-82600" class="d-flex gutter-spacious flex-wrap position-relative changelog-line js-ajax-fetchable post-82600 changelog type-changelog status-publish hentry changelog-label-advanced-security changelog-label-dependabot changelog-label-security changelog-label-security-and-compliance"> <div class="pb-4 pt-5 pt-md-7 col-12 col-md-5 position-relative"> <div class="changelog-single-details position-sticky top-12"> <svg class="octicon octicon-commit position-absolute left-0 color-bg-default color-fg-muted" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="28" height="28"><path fill-rule="evenodd" d="M15.5 11.75a3.5 3.5 0 11-7 0 3.5 3.5 0 017 0zm1.444-.75a5.001 5.001 0 00-9.888 0H2.75a.75.75 0 100 1.5h4.306a5.001 5.001 0 009.888 0h4.306a.75.75 0 100-1.5h-4.306z" fill="currentColor"></path></svg> <h2 class="h5-mktg"><a class="Link--primary" href="https://github.blog/changelog/2025-02-13-dependabot-version-updates-now-support-the-bun-package-manager-ga" rel="bookmark">Dependabot version updates now support the bun package manager &#8211; [GA]</a></h2> <time datetime="2025-02-13" class="d-block f5-mktg text-medium color-fg-muted mt-14px">February 13, 2025</time> <ul class="d-inline-block list-style-none post-hero__categories mt-2"><li class="d-inline-block mr-2 mt-2"><a href="https://github.blog/changelog/label/advanced-security/" class="f5-mktg pill-label text-gradient-purple-coral text-bold">advanced-security</a></li><li class="d-inline-block mr-2 mt-2"><a href="https://github.blog/changelog/label/dependabot/" class="f5-mktg pill-label text-gradient-purple-coral text-bold">dependabot</a></li><li class="d-inline-block mr-2 mt-2"><a href="https://github.blog/changelog/label/security/" class="f5-mktg pill-label text-gradient-purple-coral text-bold">security</a></li><li class="d-inline-block mr-2 mt-2"><a href="https://github.blog/changelog/label/security-and-compliance/" class="f5-mktg pill-label text-gradient-purple-coral text-bold">security-and-compliance</a></li></ul> </div> </div> <div class="col-12 col-md-7"> <div class="pb-5 pt-0 py-md-7 changelog-single-content-wrap border-bottom"> <div id="changelog-single-content-82600" class="post__content changelog-single-content js-show-all-target"> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"> <html><body><p>Developers can now use Dependabot to keep their <code>bun</code> dependencies up to date automatically. For projects that use <code>bun</code> as a package manager, Dependabot Version Updates can now ensure dependencies stay current with the latest releases.</p> <p>Support for <code>bun</code> security updates will be added in the future.</p> <ul> <li><a href="https://github.com/dependabot/dependabot-core/issues/6528">Engage with the Dependabot open source community on the topic of <code>bun</code> support</a></li> <li><a href="https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/about-dependabot-version-updates">Learn more about Dependabot version updates</a> </li> <li><a href="https://bun.sh/package-manager">Learn more about <code>bun</code></a></li> </ul> </body></html> </div> <a href="https://github.blog/changelog/2025-02-13-dependabot-version-updates-now-support-the-bun-package-manager-ga" role="button" class="Link--primary d-none d-md-inline-block mt-4 text-bold js-show-trigger" aria-expanded="false" aria-controls="changelog-single-content-82600"> See more <svg class="octicon octicon-chevron-down" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M12.78 6.22a.75.75 0 010 1.06l-4.25 4.25a.75.75 0 01-1.06 0L3.22 7.28a.75.75 0 011.06-1.06L8 9.94l3.72-3.72a.75.75 0 011.06 0z" fill="currentColor"></path></svg> </a> <a href="https://github.blog/changelog/2025-02-13-dependabot-version-updates-now-support-the-bun-package-manager-ga" class="Link--primary d-inline-block d-md-none mt-4 text-bold js-show-trigger-alt"> See more <svg class="octicon octicon-chevron-down" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M12.78 6.22a.75.75 0 010 1.06l-4.25 4.25a.75.75 0 01-1.06 0L3.22 7.28a.75.75 0 011.06-1.06L8 9.94l3.72-3.72a.75.75 0 011.06 0z" fill="currentColor"></path></svg> </a> </div> </div> </article> <article id="changelog-82588" class="d-flex gutter-spacious flex-wrap position-relative changelog-line js-ajax-fetchable post-82588 changelog type-changelog status-publish hentry changelog-label-copilot"> <div class="pb-4 pt-5 pt-md-7 col-12 col-md-5 position-relative"> <div class="changelog-single-details position-sticky top-12"> <svg class="octicon octicon-commit position-absolute left-0 color-bg-default color-fg-muted" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="28" height="28"><path fill-rule="evenodd" d="M15.5 11.75a3.5 3.5 0 11-7 0 3.5 3.5 0 017 0zm1.444-.75a5.001 5.001 0 00-9.888 0H2.75a.75.75 0 100 1.5h4.306a5.001 5.001 0 009.888 0h4.306a.75.75 0 100-1.5h-4.306z" fill="currentColor"></path></svg> <h2 class="h5-mktg"><a class="Link--primary" href="https://github.blog/changelog/2025-02-12-github-copilot-in-visual-studio-2022-version-17-13" rel="bookmark">GitHub Copilot in Visual Studio 2022 Version 17.13</a></h2> <time datetime="2025-02-12" class="d-block f5-mktg text-medium color-fg-muted mt-14px">February 12, 2025</time> <ul class="d-inline-block list-style-none post-hero__categories mt-2"><li class="d-inline-block mr-2 mt-2"><a href="https://github.blog/changelog/label/copilot/" class="f5-mktg pill-label text-gradient-purple-coral text-bold">copilot</a></li></ul> </div> </div> <div class="col-12 col-md-7"> <div class="pb-5 pt-0 py-md-7 changelog-single-content-wrap border-bottom"> <div id="changelog-single-content-82588" class="post__content changelog-single-content js-show-all-target"> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"> <html><body><h1 id="github-copilot-in-visual-studio-17-13-new-features-to-supercharge-your-development-workflow">GitHub Copilot in Visual Studio 17.13: New features to supercharge your development workflow<a href="#github-copilot-in-visual-studio-17-13-new-features-to-supercharge-your-development-workflow" class="heading-link pl-2 text-italic text-bold" aria-label="GitHub Copilot in Visual Studio 17.13: New features to supercharge your development workflow"></a></h1> <p>Welcome to another exciting GitHub Copilot update for Visual Studio! This release introduces several powerful new features to enhance your workflow, improve transparency, and make coding with Copilot even more intuitive.</p> <h2 id="github-copilot-free-now-available-in-visual-studio">GitHub Copilot Free now available in Visual Studio<a href="#github-copilot-free-now-available-in-visual-studio" class="heading-link pl-2 text-italic text-bold" aria-label="GitHub Copilot Free now available in Visual Studio"></a></h2> <p>GitHub Copilot is now more accessible than ever with our new free plan for Visual Studio. With your GitHub account, you&rsquo;ll get:</p> <ul> <li><strong>2,000 code completions per month</strong> &ndash; Speed up development with AI-powered suggestions. </li> <li><strong>50 chat messages per month</strong> &ndash; Get instant coding help, explanations, and debugging support. </li> <li><strong>Access to the latest AI models (Claude 3.5 Sonnet &amp; GPT-4o)</strong> &ndash; Write, refactor, and improve your code with cutting-edge AI. </li> </ul> <p>For developers who are just getting started with AI coding tools or those who only need occasional assistance, the free plan provides an easy way to experience the benefits of GitHub Copilot.</p> <p><strong>Ready to give it a try?</strong> <a href="https://github.com/features/copilot">Sign up for GitHub Copilot Free</a> and start coding smarter today!</p> <p class="has-image"><img data-recalc-dims="1" decoding="async" src="https://github.blog/wp-content/uploads/2025/02/copilot-free.png?w=1024&#038;resize=1024%2C574" alt="Start using GitHub Copilot for free in Visual Studio" width="1024" height="574" class="aligncenter size-large wp-image-82592 width-fit" loading="lazy" srcset="https://github.blog/wp-content/uploads/2025/02/copilot-free.png?w=1361 1361w, https://github.blog/wp-content/uploads/2025/02/copilot-free.png?w=300 300w, https://github.blog/wp-content/uploads/2025/02/copilot-free.png?w=768 768w, https://github.blog/wp-content/uploads/2025/02/copilot-free.png?w=1024 1024w" sizes="auto, (max-width: 1000px) 100vw, 1000px" /></p> <hr> <h2 id="copilot-edits-multi-file-editing">Copilot Edits: Multi-file editing<a href="#copilot-edits-multi-file-editing" class="heading-link pl-2 text-italic text-bold" aria-label="Copilot Edits: Multi-file editing"></a></h2> <p>Refactor and edit multiple files faster with <strong>Copilot Edits</strong>:</p> <ul> <li><strong>Preview with clarity</strong> &ndash; See which files are affected before making changes. </li> <li><strong>Review with flow</strong> &ndash; Accept (<code>TAB</code>) or reject (<code>Alt+Del</code>) changes inline with code diffs. </li> <li><strong>Iterate with confidence</strong> &ndash; Use checkpoints to revisit past iterations. </li> </ul> <p>Copilot Edits helps you make large-scale changes more efficiently, helping to ensure accuracy and control over your codebase. Whether you&rsquo;re refactoring, applying consistent patterns, or fixing issues across multiple files, GitHub Copilot Edits speeds up the process while keeping you in control.</p> <p>To try it today, click the Edits thread button (a &ldquo;+&rdquo; symbol with a pencil icon) in the top-right corner of the GitHub Copilot Chat window to start a Copilot Edits session.</p> <p class="has-image"><img data-recalc-dims="1" decoding="async" src="https://github.blog/wp-content/uploads/2025/02/copilot-edits.png?w=1024&#038;resize=1024%2C613" alt="GitHub Copilot Edits" width="1024" height="613" class="aligncenter size-large wp-image-82593 width-fit" loading="lazy" srcset="https://github.blog/wp-content/uploads/2025/02/copilot-edits.png?w=1354 1354w, https://github.blog/wp-content/uploads/2025/02/copilot-edits.png?w=300 300w, https://github.blog/wp-content/uploads/2025/02/copilot-edits.png?w=768 768w, https://github.blog/wp-content/uploads/2025/02/copilot-edits.png?w=1024 1024w" sizes="auto, (max-width: 1000px) 100vw, 1000px" /></p> <hr> <h2 id="github-copilot-just-got-smarter-automatically-retrieve-relevant-context">GitHub Copilot just got smarter: Automatically retrieve relevant context<a href="#github-copilot-just-got-smarter-automatically-retrieve-relevant-context" class="heading-link pl-2 text-italic text-bold" aria-label="GitHub Copilot just got smarter: Automatically retrieve relevant context"></a></h2> <p>GitHub Copilot can now pull in the information you need without requiring manual input, making it easier than ever to get accurate, context-aware suggestions. Copilot can search for information from:</p> <ul> <li><strong>Your current file, open files, and related files</strong> &ndash; Get relevant suggestions based on what you&rsquo;re actively working on. </li> <li><strong>Your entire codebase</strong> &ndash; Surface insights from across your project without switching context. </li> <li><strong>Debugger data (locals, call stacks, etc.)</strong> &ndash; Use real-time debugging information to troubleshoot faster. </li> <li><strong>Visual Studio itself</strong> &ndash; Get answers about IDE settings, commands, and workflows. </li> </ul> <p>Instead of manually copying code, searching through files, or retyping information, Copilot can now pull in the right context automatically&mdash;helping you write, debug, and refine code faster.</p> <p><strong>Need more control?</strong> Use <code>#file</code>, <code>#method</code>, or <code>#solution</code> in your prompts to specify exactly where Copilot should look.</p> <p class="has-image"><img data-recalc-dims="1" decoding="async" src="https://github.blog/wp-content/uploads/2025/02/function-calling.png?w=707&#038;resize=707%2C685" alt="Function calling" width="707" height="685" class="aligncenter size-large wp-image-82594 width-fit" loading="lazy" srcset="https://github.blog/wp-content/uploads/2025/02/function-calling.png?w=707 707w, https://github.blog/wp-content/uploads/2025/02/function-calling.png?w=300 300w" sizes="auto, (max-width: 707px) 100vw, 707px" /></p> <hr> <h2 id="code-referencing-for-completions-more-transparency-more-control">Code referencing for completions: More transparency, more control<a href="#code-referencing-for-completions-more-transparency-more-control" class="heading-link pl-2 text-italic text-bold" aria-label="Code referencing for completions: More transparency, more control"></a></h2> <p>Ever wondered where Copilot&rsquo;s completions (gray text) come from? Now, with <strong>Code Referencing for Completions</strong>, you&rsquo;ll get more visibility when Copilot suggests code that matches public GitHub repositories.</p> <ul> <li><strong>Toast notification</strong> &ndash; If you accept a completion that matches public code, you&rsquo;ll see a toast notification in the bottom-right of your editor. </li> <li><strong>Copilot Output Window</strong> &ndash; View license details and links to the original repository in the Copilot Output Window (<code>Ctrl+Alt+O</code>). </li> <li><strong>Adjustable settings</strong> &ndash; Individual subscribers can block or allow suggestions that match public code in their GitHub settings. </li> </ul> <p>By default, matches to public code are rare (less than 1% of completions), but this tool helps you code with more confidence and transparency.</p> <p class="has-image"><img data-recalc-dims="1" decoding="async" src="https://github.blog/wp-content/uploads/2025/02/copilot-completions.png?w=887&#038;resize=887%2C278" alt="Code referencing completions" width="887" height="278" class="aligncenter size-large wp-image-82595 width-fit" loading="lazy" srcset="https://github.blog/wp-content/uploads/2025/02/copilot-completions.png?w=887 887w, https://github.blog/wp-content/uploads/2025/02/copilot-completions.png?w=300 300w, https://github.blog/wp-content/uploads/2025/02/copilot-completions.png?w=768 768w" sizes="auto, (max-width: 887px) 100vw, 887px" /></p> <hr> <h2 id="bug-fixes-improvements">Bug fixes &amp; improvements<a href="#bug-fixes-improvements" class="heading-link pl-2 text-italic text-bold" aria-label="Bug fixes &amp; improvements"></a></h2> <ul> <li>Added support for zooming in and out within Copilot windows for improved accessibility and readability. </li> <li>Users can now easily retry their prompts for better responses. </li> <li>Users can now pick which model GitHub Copilot is using for inline chat with the <strong>model picker</strong>, allowing for quick and easy model selection. </li> </ul> <hr> <h2 id="how-to-update">How to update<a href="#how-to-update" class="heading-link pl-2 text-italic text-bold" aria-label="How to update"></a></h2> <p>Make sure you&rsquo;re using <strong>Visual Studio 2022 17.13 or later</strong> to access these features.</p> <p>&#10145; <strong><a href="https://visualstudio.microsoft.com/downloads/">Download the latest version of Visual Studio 2022</a></strong></p> <p>We&rsquo;d love to hear your feedback! Share your thoughts through the <strong>Developer Community</strong> or the <strong>Send Feedback</strong> button in Visual Studio.</p> <p><strong>Happy coding! &#128640;</strong></p> </body></html> </div> <a href="https://github.blog/changelog/2025-02-12-github-copilot-in-visual-studio-2022-version-17-13" role="button" class="Link--primary d-none d-md-inline-block mt-4 text-bold js-show-trigger" aria-expanded="false" aria-controls="changelog-single-content-82588"> See more <svg class="octicon octicon-chevron-down" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M12.78 6.22a.75.75 0 010 1.06l-4.25 4.25a.75.75 0 01-1.06 0L3.22 7.28a.75.75 0 011.06-1.06L8 9.94l3.72-3.72a.75.75 0 011.06 0z" fill="currentColor"></path></svg> </a> <a href="https://github.blog/changelog/2025-02-12-github-copilot-in-visual-studio-2022-version-17-13" class="Link--primary d-inline-block d-md-none mt-4 text-bold js-show-trigger-alt"> See more <svg class="octicon octicon-chevron-down" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M12.78 6.22a.75.75 0 010 1.06l-4.25 4.25a.75.75 0 01-1.06 0L3.22 7.28a.75.75 0 011.06-1.06L8 9.94l3.72-3.72a.75.75 0 011.06 0z" fill="currentColor"></path></svg> </a> </div> </div> </article> <article id="changelog-82587" class="d-flex gutter-spacious flex-wrap position-relative changelog-line js-ajax-fetchable post-82587 changelog type-changelog status-publish hentry changelog-label-accessibility changelog-label-actions changelog-label-public-preview changelog-label-pull-requests changelog-label-rules"> <div class="pb-4 pt-5 pt-md-7 col-12 col-md-5 position-relative"> <div class="changelog-single-details position-sticky top-12"> <svg class="octicon octicon-commit position-absolute left-0 color-bg-default color-fg-muted" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="28" height="28"><path fill-rule="evenodd" d="M15.5 11.75a3.5 3.5 0 11-7 0 3.5 3.5 0 017 0zm1.444-.75a5.001 5.001 0 00-9.888 0H2.75a.75.75 0 100 1.5h4.306a5.001 5.001 0 009.888 0h4.306a.75.75 0 100-1.5h-4.306z" fill="currentColor"></path></svg> <h2 class="h5-mktg"><a class="Link--primary" href="https://github.blog/changelog/2025-02-12-improved-pull-request-merge-experience-enabled-by-default-in-public-preview" rel="bookmark">Improved pull request merge experience enabled by default in public preview</a></h2> <time datetime="2025-02-12" class="d-block f5-mktg text-medium color-fg-muted mt-14px">February 12, 2025</time> <ul class="d-inline-block list-style-none post-hero__categories mt-2"><li class="d-inline-block mr-2 mt-2"><a href="https://github.blog/changelog/label/accessibility/" class="f5-mktg pill-label text-gradient-purple-coral text-bold">accessibility</a></li><li class="d-inline-block mr-2 mt-2"><a href="https://github.blog/changelog/label/actions/" class="f5-mktg pill-label text-gradient-purple-coral text-bold">actions</a></li><li class="d-inline-block mr-2 mt-2"><a href="https://github.blog/changelog/label/public-preview/" class="f5-mktg pill-label text-gradient-purple-coral text-bold">public-preview</a></li><li class="d-inline-block mr-2 mt-2"><a href="https://github.blog/changelog/label/pull-requests/" class="f5-mktg pill-label text-gradient-purple-coral text-bold">pull-requests</a></li><li class="d-inline-block mr-2 mt-2"><a href="https://github.blog/changelog/label/rules/" class="f5-mktg pill-label text-gradient-purple-coral text-bold">rules</a></li></ul> </div> </div> <div class="col-12 col-md-7"> <div class="pb-5 pt-0 py-md-7 changelog-single-content-wrap border-bottom"> <div id="changelog-single-content-82587" class="post__content changelog-single-content js-show-all-target"> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"> <html><body><p>The improved merge experience on the pull request page <a href="https://github.blog/changelog/2024-12-03-improved-pull-request-merge-experience-now-in-public-preview/">announced in December</a> will be enabled by default over the next few days! The feature remains in public preview while we address <a href="https://gh.io/new-merge-box-feedback">feedback</a> (keep it coming!) and make final improvements before making it generally available later this quarter.</p> <p class="has-image"><img decoding="async" src="https://github.com/user-attachments/assets/4e552da0-872e-49e3-a15a-0bc201021b34" alt="Screenshot of the updated merge box page on the pull request page showing that 1 review is required, a list of status checks (some failing), and a message about not having any merge conflicts." loading="lazy"></p> <p>This improved experience, while still familiar, is designed to help you better understand the state of your pull request and get it merged faster. To learn more, see the <a href="https://github.blog/changelog/2024-12-03-improved-pull-request-merge-experience-now-in-public-preview/">public preview announcement</a>.</p> <h2 id="recent-fixes">Recent fixes<a href="#recent-fixes" class="heading-link pl-2 text-italic text-bold" aria-label="Recent fixes"></a></h2> <p>There have been numerous bugs fixed and feature gaps filled since the public preview launched last year. Here are some notable fixes:</p> <ul> <li><strong>Fixed</strong>: Enabling auto-merge, deleting branch (after merging), or restoring branch previously failed with an unexpected error message.</li> <li><strong>Fixed</strong>: In certain scenarios, the commit author email address shown when merging the pull request would not match the email address in the resulting merge (or squash) commit.</li> <li><strong>Fixed</strong>: GitHub Actions workflow runs could only be approved from the classic merge experience.</li> <li><strong>Fixed</strong>: Status check durations were missing.</li> </ul> <p>We&rsquo;ve also made various improvements, including natural ordering for status checks. For a more complete list, see the <a href="https://github.com/orgs/community/discussions/143787">recently fixed section of this discussion</a>.</p> <h2 id="how-to-turn-it-off">How to turn it off<a href="#how-to-turn-it-off" class="heading-link pl-2 text-italic text-bold" aria-label="How to turn it off"></a></h2> <p>To switch back to the classic experience, click the <strong>Switch back to the classic merge experience</strong> just below the merge experience on the Conversation page:</p> <p class="has-image"><img decoding="async" src="https://github.com/user-attachments/assets/2734b69c-16c9-4266-82c8-0bed3ca79126" alt="A screenshot showing how to switch back to the classic merge experience" loading="lazy"></p> <p>If you want to return to the improved experience, click <strong>Try the new merge experience</strong> below the merge box on the pull request page:</p> <p class="has-image"><img decoding="async" src="https://github.com/user-attachments/assets/6105640f-a9fb-4088-8bb6-6bdeadbee559" alt="A screenshot showing how to re-enable the improved merge experience" loading="lazy"></p> <p>You can also toggle the experience via the <a href="https://docs.github.com/en/get-started/using-github/exploring-early-access-releases-with-feature-preview">feature preview dialog</a>.</p> <h3 id="how-to-provide-feedback">How to provide feedback<a href="#how-to-provide-feedback" class="heading-link pl-2 text-italic text-bold" aria-label="How to provide feedback"></a></h3> <p>We want to hear from you! To provide feedback, ask questions, and see a list of known issues, visit the GitHub Community <a href="https://gh.io/new-merge-box-feedback">improved merge box discussion</a>.</p> </body></html> </div> <a href="https://github.blog/changelog/2025-02-12-improved-pull-request-merge-experience-enabled-by-default-in-public-preview" role="button" class="Link--primary d-none d-md-inline-block mt-4 text-bold js-show-trigger" aria-expanded="false" aria-controls="changelog-single-content-82587"> See more <svg class="octicon octicon-chevron-down" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M12.78 6.22a.75.75 0 010 1.06l-4.25 4.25a.75.75 0 01-1.06 0L3.22 7.28a.75.75 0 011.06-1.06L8 9.94l3.72-3.72a.75.75 0 011.06 0z" fill="currentColor"></path></svg> </a> <a href="https://github.blog/changelog/2025-02-12-improved-pull-request-merge-experience-enabled-by-default-in-public-preview" class="Link--primary d-inline-block d-md-none mt-4 text-bold js-show-trigger-alt"> See more <svg class="octicon octicon-chevron-down" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M12.78 6.22a.75.75 0 010 1.06l-4.25 4.25a.75.75 0 01-1.06 0L3.22 7.28a.75.75 0 011.06-1.06L8 9.94l3.72-3.72a.75.75 0 011.06 0z" fill="currentColor"></path></svg> </a> </div> </div> </article> <article id="changelog-82575" class="d-flex gutter-spacious flex-wrap position-relative changelog-line js-ajax-fetchable post-82575 changelog type-changelog status-publish hentry changelog-label-models"> <div class="pb-4 pt-5 pt-md-7 col-12 col-md-5 position-relative"> <div class="changelog-single-details position-sticky top-12"> <svg class="octicon octicon-commit position-absolute left-0 color-bg-default color-fg-muted" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="28" height="28"><path fill-rule="evenodd" d="M15.5 11.75a3.5 3.5 0 11-7 0 3.5 3.5 0 017 0zm1.444-.75a5.001 5.001 0 00-9.888 0H2.75a.75.75 0 100 1.5h4.306a5.001 5.001 0 009.888 0h4.306a.75.75 0 100-1.5h-4.306z" fill="currentColor"></path></svg> <h2 class="h5-mktg"><a class="Link--primary" href="https://github.blog/changelog/2025-02-12-github-models-playground-now-integrates-with-user-repository-code-ga" rel="bookmark">GitHub Models prompt editor now integrates with user repository code [GA]</a></h2> <time datetime="2025-02-12" class="d-block f5-mktg text-medium color-fg-muted mt-14px">February 12, 2025</time> <ul class="d-inline-block list-style-none post-hero__categories mt-2"><li class="d-inline-block mr-2 mt-2"><a href="https://github.blog/changelog/label/models/" class="f5-mktg pill-label text-gradient-purple-coral text-bold">models</a></li></ul> </div> </div> <div class="col-12 col-md-7"> <div class="pb-5 pt-0 py-md-7 changelog-single-content-wrap border-bottom"> <div id="changelog-single-content-82575" class="post__content changelog-single-content js-show-all-target"> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"> <html><body><p>You can now iterate on your prompt in any user repositories without breaking your flow. With just one click, jump from a prompt in your GitHub-hosted code to the GitHub Models prompt editor:</p> <p class="has-image"><img decoding="async" src="https://github.com/user-attachments/assets/e2e5ad15-d488-4925-8373-b0a57118b961" alt='Screenshot of the GitHub UI with "Open as prompt in GitHub Models" menu item selected.' loading="lazy"></p> <p>This feature detects files with &ldquo;prompt&rdquo; in the content and uses 10 lines above and below the selected line as context. Once in the prompt editor, you can experiment with models, fine-tune your prompts, and customize parameters.</p> <p>GitHub Models is a catalog and prompt editor of AI models to help you build AI features and products. You can start using models for free with just your GitHub PAT. This is the first of more features to come that will help with seamless integration between your existing workflow and the GitHub Models prompt editor!</p> <p><a href="https://docs.github.com/github-models">Learn more about GitHub Models</a> or join the discussion in our <a href="https://github.com/orgs/community/discussions?discussions_q=is%3Aopen+models">community forums</a>.</p> </body></html> </div> <a href="https://github.blog/changelog/2025-02-12-github-models-playground-now-integrates-with-user-repository-code-ga" role="button" class="Link--primary d-none d-md-inline-block mt-4 text-bold js-show-trigger" aria-expanded="false" aria-controls="changelog-single-content-82575"> See more <svg class="octicon octicon-chevron-down" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M12.78 6.22a.75.75 0 010 1.06l-4.25 4.25a.75.75 0 01-1.06 0L3.22 7.28a.75.75 0 011.06-1.06L8 9.94l3.72-3.72a.75.75 0 011.06 0z" fill="currentColor"></path></svg> </a> <a href="https://github.blog/changelog/2025-02-12-github-models-playground-now-integrates-with-user-repository-code-ga" class="Link--primary d-inline-block d-md-none mt-4 text-bold js-show-trigger-alt"> See more <svg class="octicon octicon-chevron-down" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M12.78 6.22a.75.75 0 010 1.06l-4.25 4.25a.75.75 0 01-1.06 0L3.22 7.28a.75.75 0 011.06-1.06L8 9.94l3.72-3.72a.75.75 0 011.06 0z" fill="currentColor"></path></svg> </a> </div> </div> </article> <article id="changelog-82572" class="d-flex gutter-spacious flex-wrap position-relative changelog-line js-ajax-fetchable post-82572 changelog type-changelog status-publish hentry changelog-label-actions changelog-label-closing-down"> <div class="pb-4 pt-5 pt-md-7 col-12 col-md-5 position-relative"> <div class="changelog-single-details position-sticky top-12"> <svg class="octicon octicon-commit position-absolute left-0 color-bg-default color-fg-muted" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="28" height="28"><path fill-rule="evenodd" d="M15.5 11.75a3.5 3.5 0 11-7 0 3.5 3.5 0 017 0zm1.444-.75a5.001 5.001 0 00-9.888 0H2.75a.75.75 0 100 1.5h4.306a5.001 5.001 0 009.888 0h4.306a.75.75 0 100-1.5h-4.306z" fill="currentColor"></path></svg> <h2 class="h5-mktg"><a class="Link--primary" href="https://github.blog/changelog/2025-02-12-notice-of-upcoming-deprecations-and-breaking-changes-for-github-actions" rel="bookmark">Notice of upcoming deprecations and breaking changes for GitHub Actions</a></h2> <time datetime="2025-02-12" class="d-block f5-mktg text-medium color-fg-muted mt-14px">February 12, 2025</time> <ul class="d-inline-block list-style-none post-hero__categories mt-2"><li class="d-inline-block mr-2 mt-2"><a href="https://github.blog/changelog/label/actions/" class="f5-mktg pill-label text-gradient-purple-coral text-bold">actions</a></li><li class="d-inline-block mr-2 mt-2"><a href="https://github.blog/changelog/label/closing-down/" class="f5-mktg pill-label text-gradient-purple-coral text-bold">closing-down</a></li></ul> </div> </div> <div class="col-12 col-md-7"> <div class="pb-5 pt-0 py-md-7 changelog-single-content-wrap border-bottom"> <div id="changelog-single-content-82572" class="post__content changelog-single-content js-show-all-target"> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"> <html><body><h3 id="changes-to-check-run-status-modification">Changes to check run status modification<a href="#changes-to-check-run-status-modification" class="heading-link pl-2 text-italic text-bold" aria-label="Changes to check run status modification"></a></h3> <p>To ensure the trustworthiness and security of Actions Check Run results, developers will soon lose the ability to modify the conclusion and status of an Actions-created check run using the GitHub token from a workflow run. This change will take effect on March 31, 2025. Impacted workflows will start displaying annotations during the week of February 17, 2025.</p> <h3 id="updates-to-the-network-allow-list-for-self-hosted-runners-and-azure-private-networking">Updates to the network allow list for self-hosted runners and Azure private networking<a href="#updates-to-the-network-allow-list-for-self-hosted-runners-and-azure-private-networking" class="heading-link pl-2 text-italic text-bold" aria-label="Updates to the network allow list for self-hosted runners and Azure private networking"></a></h3> <p>In preparation for the public preview of consuming Immutable Actions in February 2025, GitHub has started migrating standard hosted runner customers to immutable actions. There is no action required on your end. This means GitHub Actions will use as an immutable action where available and will default to traditional actions resolution where none exist.</p> <p>For customers using self-hosted runners, please ensure your self-hosted runner allow lists are updated to accommodate the network traffic. Specifically, you should allow traffic to pkg.actions.githubusercontent.com to ensure immutable actions can be downloaded successfully and jobs don&rsquo;t fail during setup. If you already allow <code>*.actions.githubusercontent.com</code> (which is listed as a required domain) then no action is necessary. You will also need to enable traffic to <code>ghcr.io</code> for publishing new versions of an immutable action in the future, which will be available with the GA release.</p> <p>Customers who have not updated their allow lists will automatically be opted out from using immutable actions during the migration. Once GitHub confirms that the runners have been updated, you will automatically be opted back in once the allow lists are updated. If you need to manually opt out or in for using immutable actions, please contact support.</p> <p>This update also affects runners in all versions of GitHub Enterprise Server that use the GitHub Connect feature to download actions directly from github.com. Customers are advised to update their self-hosted runner network allow lists accordingly. For further guidance on communication between self-hosted runners and GitHub, please refer to our <a href="https://docs.github.com/en/actions/hosting-your-own-runners/managing-self-hosted-runners/about-self-hosted-runners#communication-between-self-hosted-runners-and-github">documentation</a>.</p> <p>Additionally, we&rsquo;ve updated our guidance for configuring Azure private networking to account for the new domains. The following IP addresses have been added to the NSG template in our <a href="https://docs.github.com/en/enterprise-cloud@latest/admin/configuring-settings/configuring-private-networking-for-hosted-compute-products/configuring-private-networking-for-github-hosted-runners-in-your-enterprise#prerequisites">documentation</a>.</p> <p>&ndash; 140.82.121.33/32<br> &ndash; 140.82.121.34/32<br> &ndash; 140.82.113.33/32<br> &ndash; 140.82.113.34/32<br> &ndash; 140.82.112.33/32<br> &ndash; 140.82.112.34/32<br> &ndash; 140.82.114.33/32<br> &ndash; 140.82.114.34/32<br> &ndash; 192.30.255.164/31<br> &ndash; 4.237.22.32/32<br> &ndash; 20.217.135.1/32<br> &ndash; 4.225.11.196/32<br> &ndash; 20.26.156.211/32</p> <h3 id="ubuntu-20-image-brownouts">Ubuntu 20 image brownouts<a href="#ubuntu-20-image-brownouts" class="heading-link pl-2 text-italic text-bold" aria-label="Ubuntu 20 image brownouts"></a></h3> <p>To raise awareness of the <a href="https://github.blog/changelog/2025-01-15-github-actions-ubuntu-20-runner-image-brownout-dates-and-other-breaking-changes/#ubuntu-20-image-is-closing-down">upcoming removal of Ubuntu 20</a>, we will temporarily fail jobs using the ubuntu-20.04 label starting in March 2025. The brownouts will occur on the following dates and times:</p> <ul> <li>March 4 14:00 UTC &ndash; 22:00 UTC</li> <li>March 11 13:00 UTC &ndash; 21:00 UTC</li> <li>March 18 13:00 UTC &ndash; 21:00 UTC</li> <li>March 25 13:00 UTC &ndash; 21:00 UTC</li> </ul> <h3 id="actions-cache-v1-v2-and-actions-toolkit-cache-package-brownouts">actions/cache v1-v2 and actions/toolkit cache package brownouts<a href="#actions-cache-v1-v2-and-actions-toolkit-cache-package-brownouts" class="heading-link pl-2 text-italic text-bold" aria-label="actions/cache v1-v2 and actions/toolkit cache package brownouts"></a></h3> <p>To raise awareness of the upcoming <a href="https://github.blog/changelog/2025-01-15-github-actions-ubuntu-20-runner-image-brownout-dates-and-other-breaking-changes/#actions-cache-v1-v2-and-actions-toolkit-cache-package-closing-down">removal</a>, we have scheduled brownouts for the following dates/times, Actions jobs referencing a deprecated verion of the Cache action will fail.</p> <ul> <li>February 18, 2pm &ndash; 10pm UTC</li> </ul> </body></html> </div> <a href="https://github.blog/changelog/2025-02-12-notice-of-upcoming-deprecations-and-breaking-changes-for-github-actions" role="button" class="Link--primary d-none d-md-inline-block mt-4 text-bold js-show-trigger" aria-expanded="false" aria-controls="changelog-single-content-82572"> See more <svg class="octicon octicon-chevron-down" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M12.78 6.22a.75.75 0 010 1.06l-4.25 4.25a.75.75 0 01-1.06 0L3.22 7.28a.75.75 0 011.06-1.06L8 9.94l3.72-3.72a.75.75 0 011.06 0z" fill="currentColor"></path></svg> </a> <a href="https://github.blog/changelog/2025-02-12-notice-of-upcoming-deprecations-and-breaking-changes-for-github-actions" class="Link--primary d-inline-block d-md-none mt-4 text-bold js-show-trigger-alt"> See more <svg class="octicon octicon-chevron-down" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M12.78 6.22a.75.75 0 010 1.06l-4.25 4.25a.75.75 0 01-1.06 0L3.22 7.28a.75.75 0 011.06-1.06L8 9.94l3.72-3.72a.75.75 0 011.06 0z" fill="currentColor"></path></svg> </a> </div> </div> </article> <article id="changelog-82566" class="d-flex gutter-spacious flex-wrap position-relative changelog-line js-ajax-fetchable post-82566 changelog type-changelog status-publish hentry changelog-label-advanced-security changelog-label-code-scanning changelog-label-codeql changelog-label-security changelog-label-security-and-compliance"> <div class="pb-4 pt-5 pt-md-7 col-12 col-md-5 position-relative"> <div class="changelog-single-details position-sticky top-12"> <svg class="octicon octicon-commit position-absolute left-0 color-bg-default color-fg-muted" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="28" height="28"><path fill-rule="evenodd" d="M15.5 11.75a3.5 3.5 0 11-7 0 3.5 3.5 0 017 0zm1.444-.75a5.001 5.001 0 00-9.888 0H2.75a.75.75 0 100 1.5h4.306a5.001 5.001 0 009.888 0h4.306a.75.75 0 100-1.5h-4.306z" fill="currentColor"></path></svg> <h2 class="h5-mktg"><a class="Link--primary" href="https://github.blog/changelog/2025-02-12-codeql-performance-and-coverage-improvements-in-recent-releases" rel="bookmark">CodeQL performance and coverage improvements in recent releases</a></h2> <time datetime="2025-02-12" class="d-block f5-mktg text-medium color-fg-muted mt-14px">February 12, 2025</time> <ul class="d-inline-block list-style-none post-hero__categories mt-2"><li class="d-inline-block mr-2 mt-2"><a href="https://github.blog/changelog/label/advanced-security/" class="f5-mktg pill-label text-gradient-purple-coral text-bold">advanced-security</a></li><li class="d-inline-block mr-2 mt-2"><a href="https://github.blog/changelog/label/code-scanning/" class="f5-mktg pill-label text-gradient-purple-coral text-bold">code-scanning</a></li><li class="d-inline-block mr-2 mt-2"><a href="https://github.blog/changelog/label/codeql/" class="f5-mktg pill-label text-gradient-purple-coral text-bold">codeql</a></li><li class="d-inline-block mr-2 mt-2"><a href="https://github.blog/changelog/label/security/" class="f5-mktg pill-label text-gradient-purple-coral text-bold">security</a></li><li class="d-inline-block mr-2 mt-2"><a href="https://github.blog/changelog/label/security-and-compliance/" class="f5-mktg pill-label text-gradient-purple-coral text-bold">security-and-compliance</a></li></ul> </div> </div> <div class="col-12 col-md-7"> <div class="pb-5 pt-0 py-md-7 changelog-single-content-wrap border-bottom"> <div id="changelog-single-content-82566" class="post__content changelog-single-content js-show-all-target"> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"> <html><body><p>CodeQL is the static analysis engine behind <a href="https://docs.github.com/en/code-security/code-scanning/introduction-to-code-scanning/about-code-scanning-with-codeql">GitHub code scanning</a>, which finds and remediates security issues in your code. The CodeQL engine has become faster, covers 28 more security queries, supports more ecosystems, and can now scan <a href="https://github.blog/changelog/2024-12-17-find-and-fix-actions-workflows-vulnerabilities-with-codeql-public-preview">GitHub Actions (public preview)</a>&mdash;among various other bug fixes and small improvements.</p> <p>All of these improvements were automatically rolled out to code scanning users in the past few months. For users of the CodeQL CLI, here are some highlights of the past few CodeQL releases:</p> <ul> <li><strong><a href="https://codeql.github.com/docs/codeql-overview/codeql-changelog/codeql-cli-2.20.4/">CodeQL 2.20.4</a></strong> &ndash; <em>6 February 2025</em> <ul> <li>Analysis support for GitHub Actions workflow files is now in public preview, and therefore the use of the <code>actions</code> language (for analysis of GitHub Actions workflows) no longer requires the <code>CODEQL_ENABLE_EXPERIMENTAL_FEATURES</code> environment variable to be set.</li> <li>All experimental queries for C#, Java, and Kotlin have been migrated to the default query suite in the <a href="https://github.com/GitHubSecurityLab/CodeQL-Community-Packs">CodeQL community packs</a> that are managed by GitHub Security Lab.</li> </ul> </li> <li><strong><a href="https://codeql.github.com/docs/codeql-overview/codeql-changelog/codeql-cli-2.20.3/">CodeQL 2.20.3</a></strong> &ndash; <em>24 January 2025</em> <ul> <li>Resolves a security vulnerability where CodeQL databases or logs produced by the CodeQL CLI may contain the environment variables from the time of database creation. This includes any secrets stored in an environment variables. For more information, see the <a href="https://github.com/github/codeql-cli-binaries/security/advisories/GHSA-gqh3-9prg-j95m">CodeQL CLI security advisory</a>.</li> </ul> </li> <li><strong><a href="https://codeql.github.com/docs/codeql-overview/codeql-changelog/codeql-cli-2.20.2/">CodeQL 2.20.2</a></strong> &ndash; <em>22 January 2025</em> <ul> <li>All data flow queries have been standardized on a single data flow library, which may result in differences for JavaScript and TypeScript analysis.</li> <li>CodeQL databases now take 2-3x less space on disk, which makes them faster to transfer and read/manipulate. This is thanks to a new compressed database format.</li> </ul> </li> <li><strong><a href="https://codeql.github.com/docs/codeql-overview/codeql-changelog/codeql-cli-2.20.1/">CodeQL 2.20.1</a></strong> &ndash; <em>9 January 2025</em> <ul> <li>CodeQL is now easier to set up and roll out: automatic build command detection with automatic dependency installation for C/C++ is now supported on Ubuntu 24.04.</li> <li>A new Server Side Template Injection query for Python has been released, thanks to a <a href="https://github.com/github/codeql/pull/3396">community contribution</a>.</li> <li>Swift 6.0.2 is <a href="https://codeql.github.com/docs/codeql-overview/codeql-changelog/codeql-cli-2.20.1/#swift">now supported</a>.</li> </ul> </li> <li><strong><a href="https://codeql.github.com/docs/codeql-overview/codeql-changelog/codeql-cli-2.19.4/">CodeQL 2.19.4</a></strong> &ndash; <em>2 December 2024</em> <ul> <li>Analysis coverage improvement: the <a href="https://bottlepy.org/docs/dev/"><code>bottle</code> web framework</a> for Python is now supported.</li> </ul> </li> <li><strong><a href="https://codeql.github.com/docs/codeql-overview/codeql-changelog/codeql-cli-2.19.3/">CodeQL 2.19.3</a></strong> &ndash; <em>7 November 2024</em> <ul> <li>Analysis for .NET 8 and JDK 17 has been improved.</li> <li>The CodeQL Bundle is now available as an artifact that is compressed using <a href="https://en.wikipedia.org/wiki/Zstd">Zstandard</a>. This artifact is smaller and faster to decompress than the original, gzip-compressed bundle. The <a href="https://github.com/github/codeql-action/releases/tag/codeql-bundle-v2.19.3">CodeQL bundle</a> is a tar archive containing tools, scripts, and various CodeQL-specific files.</li> </ul> </li> <li><strong><a href="https://codeql.github.com/docs/codeql-overview/codeql-changelog/codeql-cli-2.19.2/">CodeQL 2.19.2</a></strong> &ndash; <em>21 October 2024</em> <ul> <li>Analysis of Python apps now has significantly faster extraction and analysis times.</li> </ul> </li> <li><strong><a href="https://codeql.github.com/docs/codeql-overview/codeql-changelog/codeql-cli-2.19.1/">CodeQL 2.19.1</a></strong> &ndash; <em>4 October 2024</em> <ul> <li>Java 23 is now supported.</li> <li>A new command, <code>codeql resolve packs</code>, shows each step in the pack search process, including what packs were found in each step.</li> </ul> </li> </ul> <p><a href="https://codeql.github.com/docs/codeql-overview/codeql-changelog/">Detailed changelogs</a> for every CodeQL release are available in the CodeQL documentation, and new CodeQL releases occur roughly every two weeks.</p> <p>For GitHub Enterprise Server customers: All new functionality from CodeQL releases 2.19.0 through 2.20.3 will be included in GHES 3.16 and the latest patch versions of 3.12-3.15. Functionality from 2.20.3 and later 2.20.X versions will be included in 3.17. If you use an older version of GHES, you can <a href="https://docs.github.com/en/enterprise-server@3.14/admin/managing-code-security/managing-github-advanced-security-for-your-enterprise/configuring-code-scanning-for-your-appliance#configuring-codeql-analysis-on-a-server-without-internet-access">manually upgrade your CodeQL version</a>.</p> </body></html> </div> <a href="https://github.blog/changelog/2025-02-12-codeql-performance-and-coverage-improvements-in-recent-releases" role="button" class="Link--primary d-none d-md-inline-block mt-4 text-bold js-show-trigger" aria-expanded="false" aria-controls="changelog-single-content-82566"> See more <svg class="octicon octicon-chevron-down" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M12.78 6.22a.75.75 0 010 1.06l-4.25 4.25a.75.75 0 01-1.06 0L3.22 7.28a.75.75 0 011.06-1.06L8 9.94l3.72-3.72a.75.75 0 011.06 0z" fill="currentColor"></path></svg> </a> <a href="https://github.blog/changelog/2025-02-12-codeql-performance-and-coverage-improvements-in-recent-releases" class="Link--primary d-inline-block d-md-none mt-4 text-bold js-show-trigger-alt"> See more <svg class="octicon octicon-chevron-down" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M12.78 6.22a.75.75 0 010 1.06l-4.25 4.25a.75.75 0 01-1.06 0L3.22 7.28a.75.75 0 011.06-1.06L8 9.94l3.72-3.72a.75.75 0 011.06 0z" fill="currentColor"></path></svg> </a> </div> </div> </article> <article id="changelog-82559" class="d-flex gutter-spacious flex-wrap position-relative changelog-line js-ajax-fetchable post-82559 changelog type-changelog status-publish hentry changelog-label-cli changelog-label-copilot changelog-label-mobile"> <div class="pb-4 pt-5 pt-md-7 col-12 col-md-5 position-relative"> <div class="changelog-single-details position-sticky top-12"> <svg class="octicon octicon-commit position-absolute left-0 color-bg-default color-fg-muted" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="28" height="28"><path fill-rule="evenodd" d="M15.5 11.75a3.5 3.5 0 11-7 0 3.5 3.5 0 017 0zm1.444-.75a5.001 5.001 0 00-9.888 0H2.75a.75.75 0 100 1.5h4.306a5.001 5.001 0 009.888 0h4.306a.75.75 0 100-1.5h-4.306z" fill="currentColor"></path></svg> <h2 class="h5-mktg"><a class="Link--primary" href="https://github.blog/changelog/2025-02-12-github-copilot-chat-and-github-copilot-extension-now-available-for-free-on-github-mobile-and-github-cli" rel="bookmark">GitHub Copilot now available for free in mobile and the CLI</a></h2> <time datetime="2025-02-12" class="d-block f5-mktg text-medium color-fg-muted mt-14px">February 12, 2025</time> <ul class="d-inline-block list-style-none post-hero__categories mt-2"><li class="d-inline-block mr-2 mt-2"><a href="https://github.blog/changelog/label/cli/" class="f5-mktg pill-label text-gradient-purple-coral text-bold">cli</a></li><li class="d-inline-block mr-2 mt-2"><a href="https://github.blog/changelog/label/copilot/" class="f5-mktg pill-label text-gradient-purple-coral text-bold">copilot</a></li><li class="d-inline-block mr-2 mt-2"><a href="https://github.blog/changelog/label/mobile/" class="f5-mktg pill-label text-gradient-purple-coral text-bold">mobile</a></li></ul> </div> </div> <div class="col-12 col-md-7"> <div class="pb-5 pt-0 py-md-7 changelog-single-content-wrap border-bottom"> <div id="changelog-single-content-82559" class="post__content changelog-single-content js-show-all-target"> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"> <html><body><p class="has-image"><img decoding="async" src="https://github.com/user-attachments/assets/11278e26-8d99-4380-82fb-538e685a31dd" alt="GitHub Copilot Chat in GitHub Mobile and Copilot Extension for the GitHub CLI are now available for free" loading="lazy"></p> <p>GitHub Copilot Chat in GitHub Mobile and Copilot Extension for the GitHub CLI are now available for free!</p> <h3 id="github-copilot-chat-on-github-mobile">GitHub Copilot Chat on GitHub Mobile<a href="#github-copilot-chat-on-github-mobile" class="heading-link pl-2 text-italic text-bold" aria-label="GitHub Copilot Chat on GitHub Mobile"></a></h3> <p>Whether you&rsquo;re tackling coding questions, brainstorming ideas, or working on the go, GitHub Copilot Chat is here to make collaboration faster and easier, no matter where you are.</p> <p>On mobile, simply sign in with your personal GitHub account and tap the Copilot button to access 2,000 code completions and 50 chat messages per month! If you reach your quota, you can upgrade through an in-app purchase to enjoy unlimited access.</p> <p>Download or update GitHub Mobile apps today from the <a href="https://apps.apple.com/us/app/github/id1477376905">Apple App Store</a> or <a href="https://play.google.com/store/apps/details?id=com.github.android">Google Play Store</a> to experience the AI coding assistance right at your fingertips.</p> <h3 id="github-copilot-extension-on-github-cli">GitHub Copilot Extension on GitHub CLI<a href="#github-copilot-extension-on-github-cli" class="heading-link pl-2 text-italic text-bold" aria-label="GitHub Copilot Extension on GitHub CLI"></a></h3> <p>In the GitHub CLI, install the <code>gh-copilot</code> extension to access <code>gh copilot explain</code> and <code>gh copilot suggest</code>. If you reach your quota, you can upgrade on the web.</p> <p>Download the <a href="https://cli.github.com/">GitHub CLI</a> and the <a href="https://github.com/github/gh-copilot">GitHub Copilot Extension</a> directly from your terminal to experience AI assistance in explaining and suggesting <code>gh</code>, <code>git</code>, and other terminal commands without leaving your shell.</p> <p>Learn more about <a href="https://github.blog/news-insights/product-news/github-copilot-chat-in-github-mobile/">GitHub Copilot Chat in GitHub Mobile</a>, <a href="https://github.blog/developer-skills/programming-languages-and-frameworks/boost-your-cli-skills-with-github-copilot/">GitHub Copilot in the CLI</a>, <a href="https://docs.github.com/en/copilot/managing-copilot/managing-copilot-as-an-individual-subscriber/about-github-copilot-free">Copilot Free</a> and <a href="https://github.com/orgs/community/discussions/148698">share your feedback</a>.</p> </body></html> </div> <a href="https://github.blog/changelog/2025-02-12-github-copilot-chat-and-github-copilot-extension-now-available-for-free-on-github-mobile-and-github-cli" role="button" class="Link--primary d-none d-md-inline-block mt-4 text-bold js-show-trigger" aria-expanded="false" aria-controls="changelog-single-content-82559"> See more <svg class="octicon octicon-chevron-down" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M12.78 6.22a.75.75 0 010 1.06l-4.25 4.25a.75.75 0 01-1.06 0L3.22 7.28a.75.75 0 011.06-1.06L8 9.94l3.72-3.72a.75.75 0 011.06 0z" fill="currentColor"></path></svg> </a> <a href="https://github.blog/changelog/2025-02-12-github-copilot-chat-and-github-copilot-extension-now-available-for-free-on-github-mobile-and-github-cli" class="Link--primary d-inline-block d-md-none mt-4 text-bold js-show-trigger-alt"> See more <svg class="octicon octicon-chevron-down" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M12.78 6.22a.75.75 0 010 1.06l-4.25 4.25a.75.75 0 01-1.06 0L3.22 7.28a.75.75 0 011.06-1.06L8 9.94l3.72-3.72a.75.75 0 011.06 0z" fill="currentColor"></path></svg> </a> </div> </div> </article> </div> <div class="container-xl mx-auto p-responsive-blog mt-6 mt-md-8"> <div class="d-flex gutter-spacious"> <div class="col-12 col-md-7 offset-md-5"> <a href="https://github.blog/changelog/page/2/?utm_source=insider&#038;utm_medium=email&#038;utm_campaign=2024q1-em-GitHub-Insider-July-3" class="d-inline-block btn-mktg js-ajax-fetch changelog-single-content-wrap"> View more changes <svg class="octicon octicon-chevron-down" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" width="16" height="16"><path fill-rule="evenodd" d="M12.78 6.22a.75.75 0 010 1.06l-4.25 4.25a.75.75 0 01-1.06 0L3.22 7.28a.75.75 0 011.06-1.06L8 9.94l3.72-3.72a.75.75 0 011.06 0z" fill="currentColor"></path></svg> </a> </div> </div> </div> </div> </main> <div data-color-mode="dark" data-light-theme="light" data-dark-theme="dark"> <footer class="footer pt-6"> <div class="container-xl p-responsive-blog"> <div class="d-flex flex-wrap py-5 mb-5"> <div class="col-12 col-lg-4 mb-5"> <a href="https://github.com/" data-ga-click="Resources, go to home, resources footer" class="color-fg-default" aria-label="Go to GitHub homepage"> <svg height="30" class="octicon octicon-logo-github" viewBox="0 0 45 16" version="1.1" width="84" aria-hidden="true"> <path fill-rule="evenodd" d="M18.53 12.03h-.02c.009 0 .015.01.024.011h.006l-.01-.01zm.004.011c-.093.001-.327.05-.574.05-.78 0-1.05-.36-1.05-.83V8.13h1.59c.09 0 .16-.08.16-.19v-1.7c0-.09-.08-.17-.16-.17h-1.59V3.96c0-.08-.05-.13-.14-.13h-2.16c-.09 0-.14.05-.14.13v2.17s-1.09.27-1.16.28c-.08.02-.13.09-.13.17v1.36c0 .11.08.19.17.19h1.11v3.28c0 2.44 1.7 2.69 2.86 2.69.53 0 1.17-.17 1.27-.22.06-.02.09-.09.09-.16v-1.5a.177.177 0 00-.146-.18zM42.23 9.84c0-1.81-.73-2.05-1.5-1.97-.6.04-1.08.34-1.08.34v3.52s.49.34 1.22.36c1.03.03 1.36-.34 1.36-2.25zm2.43-.16c0 3.43-1.11 4.41-3.05 4.41-1.64 0-2.52-.83-2.52-.83s-.04.46-.09.52c-.03.06-.08.08-.14.08h-1.48c-.1 0-.19-.08-.19-.17l.02-11.11c0-.09.08-.17.17-.17h2.13c.09 0 .17.08.17.17v3.77s.82-.53 2.02-.53l-.01-.02c1.2 0 2.97.45 2.97 3.88zm-8.72-3.61h-2.1c-.11 0-.17.08-.17.19v5.44s-.55.39-1.3.39-.97-.34-.97-1.09V6.25c0-.09-.08-.17-.17-.17h-2.14c-.09 0-.17.08-.17.17v5.11c0 2.2 1.23 2.75 2.92 2.75 1.39 0 2.52-.77 2.52-.77s.05.39.08.45c.02.05.09.09.16.09h1.34c.11 0 .17-.08.17-.17l.02-7.47c0-.09-.08-.17-.19-.17zm-23.7-.01h-2.13c-.09 0-.17.09-.17.2v7.34c0 .2.13.27.3.27h1.92c.2 0 .25-.09.25-.27V6.23c0-.09-.08-.17-.17-.17zm-1.05-3.38c-.77 0-1.38.61-1.38 1.38 0 .77.61 1.38 1.38 1.38.75 0 1.36-.61 1.36-1.38 0-.77-.61-1.38-1.36-1.38zm16.49-.25h-2.11c-.09 0-.17.08-.17.17v4.09h-3.31V2.6c0-.09-.08-.17-.17-.17h-2.13c-.09 0-.17.08-.17.17v11.11c0 .09.09.17.17.17h2.13c.09 0 .17-.08.17-.17V8.96h3.31l-.02 4.75c0 .09.08.17.17.17h2.13c.09 0 .17-.08.17-.17V2.6c0-.09-.08-.17-.17-.17zM8.81 7.35v5.74c0 .04-.01.11-.06.13 0 0-1.25.89-3.31.89-2.49 0-5.44-.78-5.44-5.92S2.58 1.99 5.1 2c2.18 0 3.06.49 3.2.58.04.05.06.09.06.14L7.94 4.5c0 .09-.09.2-.2.17-.36-.11-.9-.33-2.17-.33-1.47 0-3.05.42-3.05 3.73s1.5 3.7 2.58 3.7c.92 0 1.25-.11 1.25-.11v-2.3H4.88c-.11 0-.19-.08-.19-.17V7.35c0-.09.08-.17.19-.17h3.74c.11 0 .19.08.19.17z"></path> </svg> </a> </div> <div class="col-6 col-sm-3 col-lg-2 mb-6 mb-md-2 pr-3 pr-lg-0 pl-lg-4"><h2 class="h5 mb-3 text-mono color-text-tertiary text-normal">Product</h2><ul class="list-style-none text-gray f5"><li class="lh-condensed mb-3"><a href="https://github.com/features" data-ga-click="Site Foundation Components, go to Features, site foundation components footer" class="Link--secondary">Features</a></li><li class="lh-condensed mb-3"><a href="https://github.com/security" data-ga-click="Site Foundation Components, go to Security, site foundation components footer" class="Link--secondary">Security</a></li><li class="lh-condensed mb-3"><a href="https://github.com/enterprise" data-ga-click="Site Foundation Components, go to Enterprise, site foundation components footer" class="Link--secondary">Enterprise</a></li><li class="lh-condensed mb-3"><a href="https://github.com/customer-stories?type=enterprise" data-ga-click="Site Foundation Components, go to Customer Stories, site foundation components footer" class="Link--secondary">Customer Stories</a></li><li class="lh-condensed mb-3"><a href="https://github.com/pricing" data-ga-click="Site Foundation Components, go to Pricing, site foundation components footer" class="Link--secondary">Pricing</a></li><li class="lh-condensed mb-3"><a href="https://resources.github.com/" data-ga-click="Site Foundation Components, go to Resources, site foundation components footer" class="Link--secondary">Resources</a></li></ul></div><div class="col-6 col-sm-3 col-lg-2 mb-6 mb-md-2 pr-3 pr-lg-0 pl-lg-4"><h2 class="h5 mb-3 text-mono color-text-tertiary text-normal">Platform</h2><ul class="list-style-none text-gray f5"><li class="lh-condensed mb-3"><a href="https://developer.github.com/" data-ga-click="Site Foundation Components, go to Developer API, site foundation components footer" class="Link--secondary">Developer API</a></li><li class="lh-condensed mb-3"><a href="https://partner.github.com/" data-ga-click="Site Foundation Components, go to Partners, site foundation components footer" class="Link--secondary">Partners</a></li><li class="lh-condensed mb-3"><a href="https://atom.io/" data-ga-click="Site Foundation Components, go to Atom, site foundation components footer" class="Link--secondary">Atom</a></li><li class="lh-condensed mb-3"><a href="https://www.electronjs.org/" data-ga-click="Site Foundation Components, go to Electron, site foundation components footer" class="Link--secondary">Electron</a></li><li class="lh-condensed mb-3"><a href="https://desktop.github.com/" data-ga-click="Site Foundation Components, go to GitHub Desktop, site foundation components footer" class="Link--secondary">GitHub Desktop</a></li></ul></div><div class="col-6 col-sm-3 col-lg-2 mb-6 mb-md-2 pr-3 pr-lg-0 pl-lg-4"><h2 class="h5 mb-3 text-mono color-text-tertiary text-normal">Support</h2><ul class="list-style-none text-gray f5"><li class="lh-condensed mb-3"><a href="https://docs.github.com/" data-ga-click="Site Foundation Components, go to Docs, site foundation components footer" class="Link--secondary">Docs</a></li><li class="lh-condensed mb-3"><a href="https://github.community/" data-ga-click="Site Foundation Components, go to Community Forum, site foundation components footer" class="Link--secondary">Community Forum</a></li><li class="lh-condensed mb-3"><a href="https://services.github.com/" data-ga-click="Site Foundation Components, go to Training, site foundation components footer" class="Link--secondary">Training</a></li><li class="lh-condensed mb-3"><a href="https://www.githubstatus.com/" data-ga-click="Site Foundation Components, go to Status, site foundation components footer" class="Link--secondary">Status</a></li><li class="lh-condensed mb-3"><a href="https://support.github.com/" data-ga-click="Site Foundation Components, go to Contact, site foundation components footer" class="Link--secondary">Contact</a></li></ul></div><div class="col-6 col-sm-3 col-lg-2 mb-6 mb-md-2 pr-3 pr-lg-0 pl-lg-4"><h2 class="h5 mb-3 text-mono color-text-tertiary text-normal">Company</h2><ul class="list-style-none text-gray f5"><li class="lh-condensed mb-3"><a href="https://github.com/about" data-ga-click="Site Foundation Components, go to About, site foundation components footer" class="Link--secondary">About</a></li><li class="lh-condensed mb-3"><a href="https://github.blog/" data-ga-click="Site Foundation Components, go to Blog, site foundation components footer" class="Link--secondary">Blog</a></li><li class="lh-condensed mb-3"><a href="https://github.com/about/careers" data-ga-click="Site Foundation Components, go to Careers, site foundation components footer" class="Link--secondary">Careers</a></li><li class="lh-condensed mb-3"><a href="https://github.com/about/press" data-ga-click="Site Foundation Components, go to Press, site foundation components footer" class="Link--secondary">Press</a></li><li class="lh-condensed mb-3"><a href="https://shop.github.com/" data-ga-click="Site Foundation Components, go to Shop, site foundation components footer" class="Link--secondary">Shop</a></li></ul></div> </div> </div> <div class="color-bg-subtle"> <div class="container-xl p-responsive-blog f6 py-4 d-sm-flex flex-justify-between flex-row-reverse flex-items-center"> <ul class="list-style-none d-flex flex-items-center mb-3 mb-sm-0 lh-condensed-ultra"> <li class="mr-3 flex-self-start"> <a href="https://www.linkedin.com/company/github" data-ga-click="Blog, go to Linkedin, resources footer" style="color: #959da5;"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 19 18" class="d-block" height="18"> <title>LinkedIn icon</title> <path d="M3.94 2A2 2 0 1 1 2 0a2 2 0 0 1 1.94 2zM4 5.48H0V18h4zm6.32 0H6.34V18h3.94v-6.57c0-3.66 4.77-4 4.77 0V18H19v-7.93c0-6.17-7.06-5.94-8.72-2.91z" fill="currentColor"></path> </svg> <span class="sr-only">GitHub on LinkedIn</span> </a> </li> <li class="mr-3"> <a href="https://www.instagram.com/github/" data-ga-click="Blog, go to Instagram, resources footer" style="color: #959da5;"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 169.063 169.063" class="d-block" height="18"> <title>Instagram icon</title> <g> <path d="M122.406,0H46.654C20.929,0,0,20.93,0,46.655v75.752c0,25.726,20.929,46.655,46.654,46.655h75.752 c25.727,0,46.656-20.93,46.656-46.655V46.655C169.063,20.93,148.133,0,122.406,0z M154.063,122.407 c0,17.455-14.201,31.655-31.656,31.655H46.654C29.2,154.063,15,139.862,15,122.407V46.655C15,29.201,29.2,15,46.654,15h75.752 c17.455,0,31.656,14.201,31.656,31.655V122.407z" fill="currentColor"/> <path d="M84.531,40.97c-24.021,0-43.563,19.542-43.563,43.563c0,24.02,19.542,43.561,43.563,43.561s43.563-19.541,43.563-43.561 C128.094,60.512,108.552,40.97,84.531,40.97z M84.531,113.093c-15.749,0-28.563-12.812-28.563-28.561 c0-15.75,12.813-28.563,28.563-28.563s28.563,12.813,28.563,28.563C113.094,100.281,100.28,113.093,84.531,113.093z" fill="currentColor"/> <path d="M129.921,28.251c-2.89,0-5.729,1.17-7.77,3.22c-2.051,2.04-3.23,4.88-3.23,7.78c0,2.891,1.18,5.73,3.23,7.78 c2.04,2.04,4.88,3.22,7.77,3.22c2.9,0,5.73-1.18,7.78-3.22c2.05-2.05,3.22-4.89,3.22-7.78c0-2.9-1.17-5.74-3.22-7.78 C135.661,29.421,132.821,28.251,129.921,28.251z" fill="currentColor"/> </g> </svg> <span class="sr-only">GitHub on Instagram</span> </a> </li> <li class="mr-3"> <a href="https://www.youtube.com/github" data-ga-click="Blog, go to YouTube, resources footer" style="color: #959da5;"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 19.17 13.6" class="d-block" height="16"> <title>YouTube icon</title> <path d="M18.77 2.13A2.4 2.4 0 0 0 17.09.42C15.59 0 9.58 0 9.58 0a57.55 57.55 0 0 0-7.5.4A2.49 2.49 0 0 0 .39 2.13 26.27 26.27 0 0 0 0 6.8a26.15 26.15 0 0 0 .39 4.67 2.43 2.43 0 0 0 1.69 1.71c1.52.42 7.5.42 7.5.42a57.69 57.69 0 0 0 7.51-.4 2.4 2.4 0 0 0 1.68-1.71 25.63 25.63 0 0 0 .4-4.67 24 24 0 0 0-.4-4.69zM7.67 9.71V3.89l5 2.91z" fill="currentColor"></path> </svg> <span class="sr-only">GitHub on YouTube</span> </a> </li> <li class="mr-3"> <a href="https://twitter.com/github" data-ga-click="Blog, go to X, resources footer" style="color: #959da5;"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 1227" class="d-block" height="18"> <title>X icon</title> <path xmlns="http://www.w3.org/2000/svg" d="M714.163 519.284 1160.89 0h-105.86L667.137 450.887 357.328 0H0l468.492 681.821L0 1226.37h105.866l409.625-476.152 327.181 476.152H1200L714.137 519.284h.026ZM569.165 687.828l-47.468-67.894-377.686-540.24h162.604l304.797 435.991 47.468 67.894 396.2 566.721H892.476L569.165 687.854v-.026Z" fill="currentColor"></path> </svg> <span class="sr-only">GitHub on X</span> </a> </li> <li class="mr-3 flex-self-start"> <a href="https://www.tiktok.com/@github" data-ga-click="Blog, go to TikTok, resources footer" style="color: #959da5;"> <svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" class="d-block" height="18"> <title>TikTok icon</title> <path d="M12.525.02c1.31-.02 2.61-.01 3.91-.02.08 1.53.63 3.09 1.75 4.17 1.12 1.11 2.7 1.62 4.24 1.79v4.03c-1.44-.05-2.89-.35-4.2-.97-.57-.26-1.1-.59-1.62-.93-.01 2.92.01 5.84-.02 8.75-.08 1.4-.54 2.79-1.35 3.94-1.31 1.92-3.58 3.17-5.91 3.21-1.43.08-2.86-.31-4.08-1.03-2.02-1.19-3.44-3.37-3.65-5.71-.02-.5-.03-1-.01-1.49.18-1.9 1.12-3.72 2.58-4.96 1.66-1.44 3.98-2.13 6.15-1.72.02 1.48-.04 2.96-.04 4.44-.99-.32-2.15-.23-3.02.37-.63.41-1.11 1.04-1.36 1.75-.21.51-.15 1.07-.14 1.61.24 1.64 1.82 3.02 3.5 2.87 1.12-.01 2.19-.66 2.77-1.61.19-.33.4-.67.41-1.06.1-1.79.06-3.57.07-5.36.01-4.03-.01-8.05.02-12.07z" fill="currentColor"/> </svg> <span class="sr-only">GitHub on TikTok</span> </a> </li> <li class="mr-3 flex-self-start"> <a href="https://www.twitch.tv/github" data-ga-click="Blog, go to Twitch, resources footer" style="color: #959da5;"> <svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg" class="d-block" height="18"> <title>Twitch icon</title> <path d="M11.571 4.714h1.715v5.143H11.57zm4.715 0H18v5.143h-1.714zM6 0L1.714 4.286v15.428h5.143V24l4.286-4.286h3.428L22.286 12V0zm14.571 11.143l-3.428 3.428h-3.429l-3 3v-3H6.857V1.714h13.714Z" fill="currentColor"/> </svg> <span class="sr-only">GitHub on Twitch</span> </a> </li> <li> <a href="https://github.com/github" data-ga-click="Blog, go to github's org, resources footer" style="color: #959da5;"> <svg height="20" class="octicon octicon-mark-github d-block" alt="" viewBox="0 0 16 16" version="1.1" width="20" aria-hidden="true"> <title>GitHub icon</title> <path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"></path> </svg> <span class="sr-only">GitHub’s organization on GitHub</span> </a> </li> </ul> <ul class="list-style-none d-flex flex-wrap text-gray"> <li class="mr-3">&copy; 2025 GitHub, Inc.</li> <li class="mr-3"> <a href="https://docs.github.com/en/github/site-policy/github-terms-of-service" data-ga-click="Site Foundation Components, go to terms, site foundation components footer" class="Link--secondary">Terms</a> </li> <li class="mr-3"> <a href="https://docs.github.com/en/github/site-policy/github-privacy-statement" data-ga-click="Site Foundation Components, go to privacy, site foundation components footer" class="Link--secondary">Privacy</a> </li> <li class="mr-3"> <button type="button" class="btn-link Link--secondary" onClick="_ghcc.showPreferences()">Manage Cookies</button> </li> <li class="mr-3"> <button type="button" class="btn-link Link--secondary" onClick="_ghcc.showPreferences()">Do not share my personal information</button> </li> </ul> </div> </div> </footer> </div> <div id="ghcc" style="position: sticky; bottom: 0; z-index: 99999;"></div><script id="mediaelement-js-extra"> var _wpmejsSettings = {"pluginPath":"\/wp-includes\/js\/mediaelement\/","classPrefix":"mejs-","stretching":"responsive","audioShortcodeLibrary":"mediaelement","videoShortcodeLibrary":"mediaelement"}; </script> <script src="https://ghcc.githubassets.com/ghcc.min.js" id="github_cookie_consent-js"></script> <script src="https://js.monitor.azure.com/scripts/c/ms.analytics-web-4.js" id="github_microsoft_analytics-js"></script> <script type="text/javascript" src="https://github.blog/_static/??/wp-content/plugins/gh-cookie-consent-and-tracking/dist/js/cookie-consent-and-tracking.js,/wp-includes/js/dist/hooks.min.js?m=1739868816j" ></script><script src="https://github.blog/wp-includes/js/dist/i18n.min.js?ver=5e580eb46a90c2b997e6" id="wp-i18n-js"></script> <script id="wp-i18n-js-after"> wp.i18n.setLocaleData( { 'text direction\u0004ltr': [ 'ltr' ] } ); </script> <script type="text/javascript" src="https://github.blog/_static/??/wp-includes/js/dist/vendor/wp-polyfill.min.js,/wp-includes/js/dist/url.min.js?m=1739294330j" ></script><script src="https://github.blog/wp-includes/js/dist/api-fetch.min.js?ver=d387b816bc1ed2042e28" id="wp-api-fetch-js"></script> <script id="wp-api-fetch-js-after"> wp.apiFetch.use( wp.apiFetch.createRootURLMiddleware( "https://github.blog/wp-json/" ) ); wp.apiFetch.nonceMiddleware = wp.apiFetch.createNonceMiddleware( "024cb58978" ); wp.apiFetch.use( wp.apiFetch.nonceMiddleware ); wp.apiFetch.use( wp.apiFetch.mediaUploadMiddleware ); wp.apiFetch.nonceEndpoint = "https://github.blog/wp-admin/admin-ajax.php?action=rest-nonce"; </script> <script type="text/javascript" src="https://github.blog/wp-content/themes/github-2021/dist/js/site-script.js?m=1739868816g" ></script><script integrity="sha256-kAnFXX7lCXF9K2o4g5q1lKyk167yRq6C4TiXWtbgvQw=" crossorigin="anonymous" src="https://analytics.githubassets.com/v1.1.0/hydro-marketing.min.js?ver=6.7.2" id="hydro-analytics-js"></script> <script src="https://stats.wp.com/e-202508.js" id="jetpack-stats-js" data-wp-strategy="defer"></script> <script id="jetpack-stats-js-after"> _stq = window._stq || []; _stq.push([ "view", JSON.parse("{\"v\":\"ext\",\"blog\":\"153214340\",\"post\":\"0\",\"tz\":\"-8\",\"srv\":\"github.blog\",\"utm_source\":\"insider\",\"utm_medium\":\"email\",\"utm_campaign\":\"2024q1-em-GitHub-Insider-July-3\",\"hp\":\"vip\",\"j\":\"1:14.2.1\"}") ]); _stq.push([ "clickTrackerInit", "153214340", "0" ]); </script> <script type="text/javascript" src="https://github.blog/_static/??-eJzTLy/QzcxLzilNSS3WzwKiwtLUokoopZebmaeXVayjj0+Rbm5melFiSSpUsX2uraG5saWRpYmxsUEWAK+aIiE=" ></script><script id="mediaelement-core-js-before"> var mejsL10n = {"language":"en","strings":{"mejs.download-file":"Download File","mejs.install-flash":"You are using a browser that does not have Flash player enabled or installed. Please turn on your Flash player plugin or download the latest version from https:\/\/get.adobe.com\/flashplayer\/","mejs.fullscreen":"Fullscreen","mejs.play":"Play","mejs.pause":"Pause","mejs.time-slider":"Time Slider","mejs.time-help-text":"Use Left\/Right Arrow keys to advance one second, Up\/Down arrows to advance ten seconds.","mejs.live-broadcast":"Live Broadcast","mejs.volume-help-text":"Use Up\/Down Arrow keys to increase or decrease volume.","mejs.unmute":"Unmute","mejs.mute":"Mute","mejs.volume-slider":"Volume Slider","mejs.video-player":"Video Player","mejs.audio-player":"Audio Player","mejs.captions-subtitles":"Captions\/Subtitles","mejs.captions-chapters":"Chapters","mejs.none":"None","mejs.afrikaans":"Afrikaans","mejs.albanian":"Albanian","mejs.arabic":"Arabic","mejs.belarusian":"Belarusian","mejs.bulgarian":"Bulgarian","mejs.catalan":"Catalan","mejs.chinese":"Chinese","mejs.chinese-simplified":"Chinese (Simplified)","mejs.chinese-traditional":"Chinese (Traditional)","mejs.croatian":"Croatian","mejs.czech":"Czech","mejs.danish":"Danish","mejs.dutch":"Dutch","mejs.english":"English","mejs.estonian":"Estonian","mejs.filipino":"Filipino","mejs.finnish":"Finnish","mejs.french":"French","mejs.galician":"Galician","mejs.german":"German","mejs.greek":"Greek","mejs.haitian-creole":"Haitian Creole","mejs.hebrew":"Hebrew","mejs.hindi":"Hindi","mejs.hungarian":"Hungarian","mejs.icelandic":"Icelandic","mejs.indonesian":"Indonesian","mejs.irish":"Irish","mejs.italian":"Italian","mejs.japanese":"Japanese","mejs.korean":"Korean","mejs.latvian":"Latvian","mejs.lithuanian":"Lithuanian","mejs.macedonian":"Macedonian","mejs.malay":"Malay","mejs.maltese":"Maltese","mejs.norwegian":"Norwegian","mejs.persian":"Persian","mejs.polish":"Polish","mejs.portuguese":"Portuguese","mejs.romanian":"Romanian","mejs.russian":"Russian","mejs.serbian":"Serbian","mejs.slovak":"Slovak","mejs.slovenian":"Slovenian","mejs.spanish":"Spanish","mejs.swahili":"Swahili","mejs.swedish":"Swedish","mejs.tagalog":"Tagalog","mejs.thai":"Thai","mejs.turkish":"Turkish","mejs.ukrainian":"Ukrainian","mejs.vietnamese":"Vietnamese","mejs.welsh":"Welsh","mejs.yiddish":"Yiddish"}}; </script> <script src="https://github.blog/wp-includes/js/mediaelement/mediaelement-and-player.min.js?ver=4.2.17" id="mediaelement-core-js"></script> <script type="text/javascript" src="https://github.blog/_static/??-eJx9yzEOgCAMBdALiVUxMQzGsxD5MSUUDUW9vouLi+MbHt2H4bymM0ApKgkCeyQIcv3ACG/FV7TCuY3a0F8syAEFReliwf6eReZ+sm5wo7VdfAATMCx4" ></script></body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10