CINXE.COM
openstack/releases: Release requests and history tracking - releases - OpenDev: Free Software Needs Free Tools
<!DOCTYPE html> <html lang="en-US" data-theme="gitea-auto"> <head> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>openstack/releases: Release requests and history tracking - releases - OpenDev: Free Software Needs Free Tools</title> <link rel="manifest" href="data:application/json;base64,eyJuYW1lIjoiT3BlbkRldjogRnJlZSBTb2Z0d2FyZSBOZWVkcyBGcmVlIFRvb2xzIiwic2hvcnRfbmFtZSI6Ik9wZW5EZXY6IEZyZWUgU29mdHdhcmUgTmVlZHMgRnJlZSBUb29scyIsInN0YXJ0X3VybCI6Imh0dHBzOi8vb3BlbmRldi5vcmcvIiwiaWNvbnMiOlt7InNyYyI6Imh0dHBzOi8vb3BlbmRldi5vcmcvYXNzZXRzL2ltZy9sb2dvLnBuZyIsInR5cGUiOiJpbWFnZS9wbmciLCJzaXplcyI6IjUxMng1MTIifSx7InNyYyI6Imh0dHBzOi8vb3BlbmRldi5vcmcvYXNzZXRzL2ltZy9sb2dvLnN2ZyIsInR5cGUiOiJpbWFnZS9zdmcreG1sIiwic2l6ZXMiOiI1MTJ4NTEyIn1dfQ=="> <meta name="author" content="openstack"> <meta name="description" content="releases - Release requests and history tracking"> <meta name="keywords" content="go,git,self-hosted,gitea"> <meta name="referrer" content="no-referrer"> <link rel="alternate" type="application/atom+xml" title="" href="/openstack/releases.atom"> <link rel="alternate" type="application/rss+xml" title="" href="/openstack/releases.rss"> <link rel="icon" href="/assets/img/favicon.svg" type="image/svg+xml"> <link rel="alternate icon" href="/assets/img/favicon.png" type="image/png"> <script> window.addEventListener('error', function(e) {window._globalHandlerErrors=window._globalHandlerErrors||[]; window._globalHandlerErrors.push(e);}); window.addEventListener('unhandledrejection', function(e) {window._globalHandlerErrors=window._globalHandlerErrors||[]; window._globalHandlerErrors.push(e);}); window.config = { appUrl: 'https:\/\/opendev.org\/', appSubUrl: '', assetVersionEncoded: encodeURIComponent('v1.22.3'), assetUrlPrefix: '\/assets', runModeIsProd: true , customEmojis: {"codeberg":":codeberg:","git":":git:","gitea":":gitea:","github":":github:","gitlab":":gitlab:","gogs":":gogs:"}, csrfToken: 'jqrG_CldpkU6sp6id4N-H9CSv0M6MTczMjQzNzcxNzY4OTU3MjQ3OQ', pageData: {}, notificationSettings: {"EventSourceUpdateTime":10000,"MaxTimeout":60000,"MinTimeout":10000,"TimeoutStep":10000}, enableTimeTracking: false , mermaidMaxSourceCharacters: 5000 , i18n: { copy_success: "Copied!", copy_error: "Copy failed", error_occurred: "An error occurred", network_error: "Network error", remove_label_str: "Remove item \"%s\"", modal_confirm: "Confirm", modal_cancel: "Cancel", more_items: "More items", }, }; window.config.pageData = window.config.pageData || {}; </script> <script src="/assets/js/webcomponents.js?v=v1.22.3"></script> <noscript> <style> .dropdown:hover > .menu { display: block; } .ui.secondary.menu .dropdown.item > .menu { margin-top: 0; } </style> </noscript> <meta property="og:title" content="releases"> <meta property="og:url" content="https://opendev.org/openstack/releases"> <meta property="og:description" content="Release requests and history tracking"> <meta property="og:type" content="object"> <meta property="og:image" content="https://opendev.org/avatars/openstack"> <meta property="og:site_name" content="OpenDev: Free Software Needs Free Tools"> <link rel="stylesheet" href="/assets/css/index.css?v=v1.22.3"> <link rel="stylesheet" href="/assets/css/theme-gitea-auto.css?v=v1.22.3"> <meta name="theme-color" content="#ee265e"/> </head> <body hx-headers='{"x-csrf-token": "jqrG_CldpkU6sp6id4N-H9CSv0M6MTczMjQzNzcxNzY4OTU3MjQ3OQ"}' hx-swap="outerHTML" hx-ext="morph" hx-push-url="false"> <div class="full height"> <noscript>This website requires JavaScript.</noscript> <nav id="navbar" aria-label="Navigation Bar"> <div class="navbar-left"> <a class="item" id="navbar-logo" href="/" aria-label="Home"> <img width="30" height="30" src="/assets/img/logo.svg" alt="Logo" aria-hidden="true"> </a> <div class="ui secondary menu item navbar-mobile-right only-mobile"> <button class="item tw-w-auto ui icon mini button tw-p-2 tw-m-0" id="navbar-expand-toggle" aria-label="Navigation Menu"><svg viewBox="0 0 16 16" class="svg octicon-three-bars" aria-hidden="true" width="16" height="16"><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.75m0 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.75M1.75 12h12.5a.75.75 0 0 1 0 1.5H1.75a.75.75 0 0 1 0-1.5"/></svg></button> </div> <a class="item" href="/explore/repos">Explore</a> <a class="item" target="_blank" rel="noopener noreferrer" href="https://docs.opendev.org/opendev/infra-manual/latest/gettingstarted.html">Get Started</a> </div> <div class="navbar-right"> </div> </nav> <div role="main" aria-label="openstack/releases: Release requests and history tracking" class="page-content repository file list "> <div class="secondary-nav"> <div class="ui container"> <div class="repo-header"> <div class="flex-item tw-items-center"> <div class="flex-item-leading"> <svg viewBox="0 0 16 16" class="svg octicon-repo" aria-hidden="true" width="24" height="24"><path d="M2 2.5A2.5 2.5 0 0 1 4.5 0h8.75a.75.75 0 0 1 .75.75v12.5a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1 0-1.5h1.75v-2h-8a1 1 0 0 0-.714 1.7.75.75 0 1 1-1.072 1.05A2.5 2.5 0 0 1 2 11.5Zm10.5-1h-8a1 1 0 0 0-1 1v6.708A2.5 2.5 0 0 1 4.5 9h8ZM5 12.25a.25.25 0 0 1 .25-.25h3.5a.25.25 0 0 1 .25.25v3.25a.25.25 0 0 1-.4.2l-1.45-1.087a.25.25 0 0 0-.3 0L5.4 15.7a.25.25 0 0 1-.4-.2Z"/></svg> </div> <div class="flex-item-main"> <div class="flex-item-title tw-text-18"> <a class="muted tw-font-normal" href="/openstack">openstack</a>/<a class="muted" href="/openstack/releases">releases</a> </div> </div> <div class="flex-item-trailing"> </div> </div> </div> </div> <div class="ui container"> <overflow-menu class="ui secondary pointing menu"> <div class="overflow-menu-items"> <a class="active item" href="/openstack/releases"> <svg viewBox="0 0 16 16" class="svg octicon-code" aria-hidden="true" width="16" height="16"><path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.75.75 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.75.75 0 0 1 .734.215m-6.56 0a.75.75 0 0 1 1.042.018.75.75 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.75.75 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"/></svg> Code </a> <a class="item" href="https://storyboard.openstack.org/#!/project/openstack/releases" target="_blank" rel="noopener noreferrer"> <svg viewBox="0 0 16 16" class="svg octicon-link-external" aria-hidden="true" width="16" height="16"><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 2m6.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.75.75 0 0 1-1.042-.018.75.75 0 0 1-.018-1.042l3.75-3.75-1.543-1.543A.25.25 0 0 1 10.604 1"/></svg> Issues </a> <a class="item" href="https://review.opendev.org/#/q/status:open+project:openstack/releases"> <svg viewBox="0 0 16 16" class="svg octicon-git-pull-request" aria-hidden="true" width="16" height="16"><path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25m5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354M3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5m0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5m8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0"/></svg> Proposed changes </a> </div> </overflow-menu> </div> <div class="ui tabs divider"></div> </div> <div class="ui container "> <div class="repo-description gt-word-break">Release requests and history tracking </div> <div class="tw-flex tw-items-center tw-flex-wrap tw-gap-2 tw-my-2" id="repo-topics"> </div> <div class="ui segments repository-summary tw-mt-1 tw-mb-0"> <div class="ui segment sub-menu repository-menu"> <a class="item muted " href="/openstack/releases/commits/branch/master"> <svg viewBox="0 0 16 16" class="svg octicon-history" aria-hidden="true" width="16" height="16"><path d="m.427 1.927 1.215 1.215a8.002 8.002 0 1 1-1.6 5.685.75.75 0 1 1 1.493-.154 6.5 6.5 0 1 0 1.18-4.458l1.358 1.358A.25.25 0 0 1 3.896 6H.25A.25.25 0 0 1 0 5.75V2.104a.25.25 0 0 1 .427-.177M7.75 4a.75.75 0 0 1 .75.75v2.992l2.028.812a.75.75 0 0 1-.557 1.392l-2.5-1A.75.75 0 0 1 7 8.25v-3.5A.75.75 0 0 1 7.75 4"/></svg> <b>26,958</b> Commits </a> <a class="item muted " href="/openstack/releases/branches"> <svg viewBox="0 0 16 16" class="svg octicon-git-branch" aria-hidden="true" width="16" height="16"><path d="M9.5 3.25a2.25 2.25 0 1 1 3 2.122V6A2.5 2.5 0 0 1 10 8.5H6a1 1 0 0 0-1 1v1.128a2.251 2.251 0 1 1-1.5 0V5.372a2.25 2.25 0 1 1 1.5 0v1.836A2.5 2.5 0 0 1 6 7h4a1 1 0 0 0 1-1v-.628A2.25 2.25 0 0 1 9.5 3.25m-6 0a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0m8.25-.75a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5M4.25 12a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5"/></svg> <b>1</b> Branch </a> <a class="item muted " href="/openstack/releases/tags"> <svg viewBox="0 0 16 16" class="svg octicon-tag" aria-hidden="true" width="16" height="16"><path d="M1 7.775V2.75C1 1.784 1.784 1 2.75 1h5.025c.464 0 .91.184 1.238.513l6.25 6.25a1.75 1.75 0 0 1 0 2.474l-5.026 5.026a1.75 1.75 0 0 1-2.474 0l-6.25-6.25A1.75 1.75 0 0 1 1 7.775m1.5 0c0 .066.026.13.073.177l6.25 6.25a.25.25 0 0 0 .354 0l5.025-5.025a.25.25 0 0 0 0-.354l-6.25-6.25a.25.25 0 0 0-.177-.073H2.75a.25.25 0 0 0-.25.25ZM6 5a1 1 0 1 1 0 2 1 1 0 0 1 0-2"/></svg> <b>0</b> Tags </a> <span class="item not-mobile" data-tooltip-content="git: 131 MiB, lfs: 0 B"> <svg viewBox="0 0 16 16" class="svg octicon-database" aria-hidden="true" width="16" height="16"><path d="M1 3.5c0-.626.292-1.165.7-1.59.406-.422.956-.767 1.579-1.041C4.525.32 6.195 0 8 0s3.475.32 4.722.869c.622.274 1.172.62 1.578 1.04.408.426.7.965.7 1.591v9c0 .626-.292 1.165-.7 1.59-.406.422-.956.767-1.579 1.041C11.476 15.68 9.806 16 8 16c-1.805 0-3.475-.32-4.721-.869-.623-.274-1.173-.62-1.579-1.04-.408-.426-.7-.965-.7-1.591Zm1.5 0c0 .133.058.318.282.551.227.237.591.483 1.101.707C4.898 5.205 6.353 5.5 8 5.5s3.101-.295 4.118-.742c.508-.224.873-.471 1.1-.708.224-.232.282-.417.282-.55s-.058-.318-.282-.551c-.227-.237-.591-.483-1.101-.707C11.102 1.795 9.647 1.5 8 1.5s-3.101.295-4.118.742c-.508.224-.873.471-1.1.708-.224.232-.282.417-.282.55m0 4.5c0 .133.058.318.282.551.227.237.591.483 1.101.707C4.898 9.705 6.353 10 8 10s3.101-.295 4.118-.742c.508-.224.873-.471 1.1-.708.224-.232.282-.417.282-.55V5.724c-.241.15-.503.286-.778.407C11.475 6.68 9.805 7 8 7s-3.475-.32-4.721-.869a6 6 0 0 1-.779-.407Zm0 2.225V12.5c0 .133.058.318.282.55.227.237.592.484 1.1.708 1.016.447 2.471.742 4.118.742s3.102-.295 4.117-.742c.51-.224.874-.47 1.101-.707.224-.233.282-.418.282-.551v-2.275c-.241.15-.503.285-.778.406-1.247.549-2.917.869-4.722.869s-3.475-.32-4.721-.869a6 6 0 0 1-.779-.406"/></svg> <b>131</b> MiB </span> </div> <div class="ui segment sub-menu language-stats-details tw-hidden"> <div class="item"> <i class="color-icon" style="background-color: #3572A5"></i> <span class="tw-font-semibold"> Python </span> 89.7% </div> <div class="item"> <i class="color-icon" style="background-color: #89e051"></i> <span class="tw-font-semibold"> Shell </span> 10.3% </div> </div> <a class="ui segment language-stats show-panel toggle" data-panel=".repository-summary > .sub-menu"> <div class="bar" style="width: 89.7%; background-color: #3572A5" data-tooltip-placement="top" data-tooltip-content=Python data-tooltip-follow-cursor="horizontal"></div> <div class="bar" style="width: 10.3%; background-color: #89e051" data-tooltip-placement="top" data-tooltip-content=Shell data-tooltip-follow-cursor="horizontal"></div> </a> </div> <div class="repo-button-row" data-is-homepage="true"> <div class="repo-button-row-left"> <script type="module"> const data = { 'textReleaseCompare': "Compare", 'textCreateTag': "Create tag %s", 'textCreateBranch': "Create branch %s", 'textCreateBranchFrom': "from \"%s\"", 'textBranches': "Branches", 'textTags': "Tags", 'textDefaultBranchLabel': "default", 'mode': 'branches', 'showBranchesInDropdown': true , 'searchFieldPlaceholder': 'Filter branch or tag...', 'branchForm': null , 'disableCreateBranch': true , 'setAction': null , 'submitForm': null , 'viewType': "branch", 'refName': "master", 'commitIdShort': "1928a01ae5", 'tagName': "", 'branchName': "master", 'noTag': null , 'defaultSelectedRefName': "master", 'repoDefaultBranch': "master", 'enableFeed': true , 'rssURLPrefix': '\/openstack\/releases/rss/branch/', 'branchURLPrefix': '\/openstack\/releases/src/branch/', 'branchURLSuffix': '', 'tagURLPrefix': '\/openstack\/releases/src/tag/', 'tagURLSuffix': '', 'repoLink': "/openstack/releases", 'treePath': "", 'branchNameSubURL': "branch/master", 'noResults': "No results found.", }; window.config.pageData.branchDropdownDataList = window.config.pageData.branchDropdownDataList || []; window.config.pageData.branchDropdownDataList.push(data); </script> <div class="js-branch-tag-selector tw-mr-1"> <div class="ui dropdown custom branch-selector-dropdown ellipsis-items-nowrap"> <div class="ui button branch-dropdown-button"> <span class="flex-text-block gt-ellipsis"> <svg viewBox="0 0 16 16" class="svg octicon-git-branch" aria-hidden="true" width="16" height="16"><path d="M9.5 3.25a2.25 2.25 0 1 1 3 2.122V6A2.5 2.5 0 0 1 10 8.5H6a1 1 0 0 0-1 1v1.128a2.251 2.251 0 1 1-1.5 0V5.372a2.25 2.25 0 1 1 1.5 0v1.836A2.5 2.5 0 0 1 6 7h4a1 1 0 0 0 1-1v-.628A2.25 2.25 0 0 1 9.5 3.25m-6 0a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0m8.25-.75a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5M4.25 12a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5"/></svg> <strong ref="dropdownRefName" class="tw-ml-2 tw-inline-block gt-ellipsis">master</strong> </span> <svg viewBox="0 0 16 16" class="dropdown icon svg octicon-triangle-down" aria-hidden="true" width="14" height="14"><path d="m4.427 7.427 3.396 3.396a.25.25 0 0 0 .354 0l3.396-3.396A.25.25 0 0 0 11.396 7H4.604a.25.25 0 0 0-.177.427"/></svg> </div> </div> </div> <a href="/openstack/releases/find/branch/master" class="ui compact basic button">Go to file</a> <form class="ignore-dirty tw-flex tw-flex-1" action="/openstack/releases/search" method="get"> <div class="ui small action input tw-flex-1"> <input name="q" size="10" placeholder="Search code..."> <button class="ui small icon button" aria-label="Search..." ><svg viewBox="0 0 16 16" class="svg octicon-search" aria-hidden="true" width="16" height="16"><path d="M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.75.75 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7"/></svg></button> </div> </form> </div> <div class="repo-button-row-right"> <div class="clone-panel ui action tiny input"> <button class="ui small button" id="repo-clone-https" data-link="https://opendev.org/openstack/releases.git"> HTTPS </button> <input id="repo-clone-url" size="10" class="js-clone-url" value="https://opendev.org/openstack/releases.git" readonly> <button class="ui small icon button" id="clipboard-btn" data-tooltip-content="Copy URL" data-clipboard-target="#repo-clone-url" aria-label="Copy URL"> <svg viewBox="0 0 16 16" class="svg octicon-copy" aria-hidden="true" width="14" height="14"><path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"/><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"/></svg> </button> <button class="ui small jump dropdown icon button" data-tooltip-content="More Operations"> <svg viewBox="0 0 16 16" class="svg octicon-kebab-horizontal" aria-hidden="true" width="16" height="16"><path d="M8 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3M1.5 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3m13 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3"/></svg> <div class="menu"> <a class="item archive-link" href="/openstack/releases/archive/master.zip" rel="nofollow"><svg viewBox="0 0 16 16" class="tw-mr-2 svg octicon-file-zip" aria-hidden="true" width="16" height="16"><path d="M3.5 1.75v11.5c0 .09.048.173.126.217a.75.75 0 0 1-.752 1.298A1.75 1.75 0 0 1 2 13.25V1.75C2 .784 2.784 0 3.75 0h5.586c.464 0 .909.185 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v8.586A1.75 1.75 0 0 1 12.25 15h-.5a.75.75 0 0 1 0-1.5h.5a.25.25 0 0 0 .25-.25V4.664a.25.25 0 0 0-.073-.177L9.513 1.573a.25.25 0 0 0-.177-.073H7.25a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5h-3a.25.25 0 0 0-.25.25m3.75 8.75h.5c.966 0 1.75.784 1.75 1.75v3a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1-.75-.75v-3c0-.966.784-1.75 1.75-1.75M6 5.25a.75.75 0 0 1 .75-.75h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 6 5.25m.75 2.25h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5M8 6.75A.75.75 0 0 1 8.75 6h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 8 6.75M8.75 3h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5M8 9.75A.75.75 0 0 1 8.75 9h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 8 9.75m-1 2.5v2.25h1v-2.25a.25.25 0 0 0-.25-.25h-.5a.25.25 0 0 0-.25.25"/></svg>Download ZIP</a> <a class="item archive-link" href="/openstack/releases/archive/master.tar.gz" rel="nofollow"><svg viewBox="0 0 16 16" class="tw-mr-2 svg octicon-file-zip" aria-hidden="true" width="16" height="16"><path d="M3.5 1.75v11.5c0 .09.048.173.126.217a.75.75 0 0 1-.752 1.298A1.75 1.75 0 0 1 2 13.25V1.75C2 .784 2.784 0 3.75 0h5.586c.464 0 .909.185 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v8.586A1.75 1.75 0 0 1 12.25 15h-.5a.75.75 0 0 1 0-1.5h.5a.25.25 0 0 0 .25-.25V4.664a.25.25 0 0 0-.073-.177L9.513 1.573a.25.25 0 0 0-.177-.073H7.25a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5h-3a.25.25 0 0 0-.25.25m3.75 8.75h.5c.966 0 1.75.784 1.75 1.75v3a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1-.75-.75v-3c0-.966.784-1.75 1.75-1.75M6 5.25a.75.75 0 0 1 .75-.75h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 6 5.25m.75 2.25h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5M8 6.75A.75.75 0 0 1 8.75 6h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 8 6.75M8.75 3h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5M8 9.75A.75.75 0 0 1 8.75 9h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 8 9.75m-1 2.5v2.25h1v-2.25a.25.25 0 0 0-.25-.25h-.5a.25.25 0 0 0-.25.25"/></svg>Download TAR.GZ</a> <a class="item archive-link" href="/openstack/releases/archive/master.bundle" rel="nofollow"><svg viewBox="0 0 16 16" class="tw-mr-2 svg octicon-package" aria-hidden="true" width="16" height="16"><path d="m8.878.392 5.25 3.045c.54.314.872.89.872 1.514v6.098a1.75 1.75 0 0 1-.872 1.514l-5.25 3.045a1.75 1.75 0 0 1-1.756 0l-5.25-3.045A1.75 1.75 0 0 1 1 11.049V4.951c0-.624.332-1.201.872-1.514L7.122.392a1.75 1.75 0 0 1 1.756 0M7.875 1.69l-4.63 2.685L8 7.133l4.755-2.758-4.63-2.685a.25.25 0 0 0-.25 0M2.5 5.677v5.372c0 .09.047.171.125.216l4.625 2.683V8.432Zm6.25 8.271 4.625-2.683a.25.25 0 0 0 .125-.216V5.677L8.75 8.432Z"/></svg>Download BUNDLE</a> <a class="item js-clone-url-editor" data-href-template="vscode://vscode.git/clone?url={url}"><svg viewBox="-1 -1 34 34" class="tw-mr-2 svg gitea-vscode" aria-hidden="true" width="16" height="16"><path d="M30.9 3.4 24.3.3a2 2 0 0 0-2.3.4L9.4 12.2 3.9 8c-.5-.4-1.2-.4-1.7 0L.4 9.8c-.5.5-.5 1.4 0 2L5.2 16 .4 20.3c-.5.6-.5 1.5 0 2L2.2 24c.5.5 1.2.5 1.7 0l5.5-4L22 31.2a2 2 0 0 0 2.3.4l6.6-3.2a2 2 0 0 0 1.1-1.8V5.2a2 2 0 0 0-1.1-1.8M24 23.3 14.4 16 24 8.7z"/></svg>Open with VS Code</a> <a class="item js-clone-url-editor" data-href-template="vscodium://vscode.git/clone?url={url}"><svg xml:space="preserve" fill-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2" clip-rule="evenodd" viewBox="0 0 16 16" class="tw-mr-2 svg gitea-vscodium" aria-hidden="true" width="16" height="16"><path fill-rule="nonzero" d="m10.2.2.5-.3c.3 0 .5.2.7.4l.2.8-.2 1-.8 2.4c-.3 1-.4 2 0 2.9l.8-2c.2 0 .4.1.4.3l-.3 1L9.2 13l3.1-2.9c.3-.2.7-.5.8-1a2 2 0 0 0-.3-1c-.2-.5-.5-.9-.6-1.4l.1-.7c.1-.1.3-.2.5-.1.2 0 .3.2.4.4.3.5.4 1.2.5 1.8l.6-1.2c0-.2.2-.4.4-.6l.4-.2c.2 0 .4.3.4.4v.6l-.8 1.6-1.4 1.8 1-.4c.2 0 .6.2.7.5 0 .2 0 .4-.2.5-.3.2-.6.2-1 .2-1 0-2.2.6-2.9 1.4L9.6 15c-.4.4-.9 1-1.4.8-.8-.1-.8-1.3-1-1.8 0-.3-.2-.6-.4-.7-.3-.2-.5-.3-.8-.3-.6-.1-1.2 0-1.8-.2l-.8-.4-.4-.7c-.3-.6-.3-1.2-.5-1.8A4 4 0 0 0 1 8l-.4-.4v-.4c.2-.2.5-.2.7 0 .5.2.5.8 1 1.1V6.2s.3-.1.4 0l.2.5L3 9c.4-.4.6-1 .5-1.5L3.4 7l.3-.2c.2 0 .3.2.4.3v.7c0 .6-.3 1.1-.4 1.7-.2.4-.3 1-.1 1.4.1.5.5.9.9 1 .5.3 1.1.4 1.7.4-.4-.6-.7-1.2-.7-2 0-.7.4-1.3.6-2C6.3 7 5.7 5.8 4.8 5l-1.5-.7c-.4-.2-.7-.7-.7-1.2.3-.1.7 0 1 .1L5 4.5l.6.1c.2-.3 0-.6-.2-.8-.3-.5-1-.6-1.3-1a.9.9 0 0 1-.2-.8c0-.2.3-.4.5-.4.4 0 .7.3.9.5.8.8 1.2 1.8 1.4 3s0 2.5-.2 3.7c0 .3-.2.5-.1.8l.2.2c.2 0 .4 0 .5-.2.4-.3.8-.8.9-1.3l.1-1.2.1-.6.4-.2.3.3v.6c-.1.5-.2 1-.5 1.6a2 2 0 0 1-.6 1l-1 1c-.1.2-.2.6-.1.9 0 .2.2.4.4.5.4.2.8.2 1 0 .3-.1.5-.4.7-.6l.5-1.4.4-2.5C9.7 7 9.6 6 9 5.2c-.2-.4-.5-.7-1-1l-1-.8c-.2-.3-.4-.7-.3-1.2h.6c.4.1.7.4.9.8s.4.8.9 1l-1-2c-.1-.3-.3-.5-.2-.8 0-.2.2-.4.4-.4s.4.1.5.3l.2.5 1 3.1a4 4 0 0 0 .4-2.3L10 1V.2Z"/></svg>Open with VSCodium</a> <a class="item js-clone-url-editor" data-href-template="jetbrains://idea/checkout/git?idea.required.plugins.id=Git4Idea&checkout.repo={url}"><svg xml:space="preserve" viewBox="0 0 70 70" class="tw-mr-2 svg gitea-jetbrains" aria-hidden="true" width="16" height="16"><linearGradient id="gitea-jetbrains__a" x1=".79" x2="33.317" y1="40.089" y2="40.089" gradientUnits="userSpaceOnUse"><stop offset=".258" style="stop-color:#f97a12"/><stop offset=".459" style="stop-color:#b07b58"/><stop offset=".724" style="stop-color:#577bae"/><stop offset=".91" style="stop-color:#1e7ce5"/><stop offset="1" style="stop-color:#087cfa"/></linearGradient><path d="M17.7 54.6.8 41.2l8.4-15.6L33.3 35z" style="fill:url(#gitea-jetbrains__a)"/><linearGradient id="gitea-jetbrains__b" x1="25.767" x2="79.424" y1="24.88" y2="54.57" gradientUnits="userSpaceOnUse"><stop offset="0" style="stop-color:#f97a12"/><stop offset=".072" style="stop-color:#cb7a3e"/><stop offset=".154" style="stop-color:#9e7b6a"/><stop offset=".242" style="stop-color:#757b91"/><stop offset=".334" style="stop-color:#537bb1"/><stop offset=".432" style="stop-color:#387ccc"/><stop offset=".538" style="stop-color:#237ce0"/><stop offset=".655" style="stop-color:#147cef"/><stop offset=".792" style="stop-color:#0b7cf7"/><stop offset="1" style="stop-color:#087cfa"/></linearGradient><path d="m70 18.7-1.3 40.5L41.8 70 25.6 59.6 49.3 35 38.9 12.3l9.3-11.2z" style="fill:url(#gitea-jetbrains__b)"/><linearGradient id="gitea-jetbrains__c" x1="63.228" x2="48.29" y1="42.915" y2="-1.719" gradientUnits="userSpaceOnUse"><stop offset="0" style="stop-color:#fe315d"/><stop offset=".078" style="stop-color:#cb417e"/><stop offset=".16" style="stop-color:#9e4e9b"/><stop offset=".247" style="stop-color:#755bb4"/><stop offset=".339" style="stop-color:#5365ca"/><stop offset=".436" style="stop-color:#386ddb"/><stop offset=".541" style="stop-color:#2374e9"/><stop offset=".658" style="stop-color:#1478f3"/><stop offset=".794" style="stop-color:#0b7bf8"/><stop offset="1" style="stop-color:#087cfa"/></linearGradient><path d="M70 18.7 48.7 43.9l-9.8-31.6 9.3-11.2z" style="fill:url(#gitea-jetbrains__c)"/><linearGradient id="gitea-jetbrains__d" x1="10.72" x2="55.524" y1="16.473" y2="90.58" gradientUnits="userSpaceOnUse"><stop offset="0" style="stop-color:#fe315d"/><stop offset=".04" style="stop-color:#f63462"/><stop offset=".104" style="stop-color:#df3a71"/><stop offset=".167" style="stop-color:#c24383"/><stop offset=".291" style="stop-color:#ad4a91"/><stop offset=".55" style="stop-color:#755bb4"/><stop offset=".917" style="stop-color:#1d76ed"/><stop offset="1" style="stop-color:#087cfa"/></linearGradient><path d="M33.7 58.1 5.6 68.3l4.5-15.8L16 33.1 0 27.7 10.1 0l22 2.7 21.6 24.7z" style="fill:url(#gitea-jetbrains__d)"/><path d="M13.7 13.5h43.2v43.2H13.7z" style="fill:#000"/><path d="M17.7 48.6h16.2v2.7H17.7zM29.4 22.4v-3.3h-9v3.3H23v11.3h-2.6V37h9v-3.3h-2.5V22.4zM38 37.3c-1.4 0-2.6-.3-3.5-.8s-1.7-1.2-2.3-1.9l2.5-2.8c.5.6 1 1 1.5 1.3s1.1.5 1.7.5c.7 0 1.3-.2 1.8-.7.4-.5.6-1.2.6-2.3V19.1h4v11.7c0 1.1-.1 2-.4 2.8s-.7 1.4-1.3 2c-.5.5-1.2 1-2 1.2-.8.3-1.6.5-2.6.5" style="fill:#fff"/></svg>Open with Intellij IDEA</a> </div> </button> <script> (window.updateCloneStates = function() { const httpsBtn = document.getElementById('repo-clone-https'); const sshBtn = document.getElementById('repo-clone-ssh'); const value = localStorage.getItem('repo-clone-protocol') || 'https'; const isSSH = value === 'ssh' && sshBtn || value !== 'ssh' && !httpsBtn; if (httpsBtn) { httpsBtn.textContent = window.origin.split(':')[0].toUpperCase(); httpsBtn.classList.toggle('primary', !isSSH); httpsBtn.classList.toggle('basic', isSSH); } if (sshBtn) { sshBtn.classList.toggle('primary', isSSH); sshBtn.classList.toggle('basic', !isSSH); } const btn = isSSH ? sshBtn : httpsBtn; if (!btn) return; function toOriginUrl(urlStr) { try { if (urlStr.startsWith('http://') || urlStr.startsWith('https://') || urlStr.startsWith('/')) { const {origin, protocol, hostname, port} = window.location; const url = new URL(urlStr, origin); url.protocol = protocol; url.hostname = hostname; url.port = port || (protocol === 'https:' ? '443' : '80'); return url.toString(); } } catch {} return urlStr; } const link = toOriginUrl(btn.getAttribute('data-link')); for (const el of document.getElementsByClassName('js-clone-url')) { el[el.nodeName === 'INPUT' ? 'value' : 'textContent'] = link; } for (const el of document.getElementsByClassName('js-clone-url-editor')) { el.href = el.getAttribute('data-href-template').replace('{url}', encodeURIComponent(link)); } })(); </script> </div> <div class="ui small modal" id="cite-repo-modal"> <div class="header"> Cite this repository </div> <div class="content"> <div class="ui stackable secondary menu"> <div class="ui action input" id="citation-panel"> <button class="ui citation button" id="citation-copy-apa" data-text=""> APA </button> <button class="ui citation button" id="citation-copy-bibtex" data-text=""> BibTeX </button> <input id="citation-copy-content" value="" size="1" readonly> <button class="ui icon button" id="citation-clipboard-btn" data-tooltip-content="Copy" data-clipboard-target="#citation-copy-content"> <svg viewBox="0 0 16 16" class="svg octicon-copy" aria-hidden="true" width="16" height="16"><path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"/><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"/></svg> </button> <a id="goto-citation-btn" class="ui basic jump icon button" href="/openstack/releases/src/master/CITATION.cff" data-tooltip-content="Go to file"> <svg viewBox="0 0 16 16" class="svg octicon-file-moved" aria-hidden="true" width="16" height="16"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-3.5a.75.75 0 0 1 0-1.5h3.5a.25.25 0 0 0 .25-.25V4.664a.25.25 0 0 0-.073-.177l-2.914-2.914a.25.25 0 0 0-.177-.073H3.75a.25.25 0 0 0-.25.25v6.5a.75.75 0 0 1-1.5 0z"/><path d="m5.427 15.573 3.146-3.146a.25.25 0 0 0 0-.354L5.427 8.927A.25.25 0 0 0 5 9.104V11.5H.75a.75.75 0 0 0 0 1.5H5v2.396c0 .223.27.335.427.177"/></svg> </a> </div> </div> </div> <div class="actions"> <button class="ui cancel button"> Cancel </button> </div> </div> </div> </div> <table id="repo-files-table" class="ui single line table tw-mt-0" > <thead> <tr class="commit-list"> <th class="tw-overflow-hidden" colspan="2"> <div class="tw-flex"> <div class="latest-commit"> <img loading="lazy" class="ui avatar tw-align-middle tw-mr-1" src="/assets/img/avatar_default.png" title="Zuul" width="24" height="24"/> <span class="author-wrapper" title="Zuul"><strong>Zuul</strong></span> <a rel="nofollow" class="ui sha label " href="/openstack/releases/commit/1928a01ae52a57097864aa8a82fbc07a9a8be8ec"> <span class="shortsha">1928a01ae5</span> </a> <span class="grey commit-summary" title="Merge "Release os-vif for Epoxy-1 milestone""><span class="message-wrapper"><a href="/openstack/releases/commit/1928a01ae52a57097864aa8a82fbc07a9a8be8ec" class="default-link muted">Merge "Release os-vif for Epoxy-1 milestone"</a></span> </span> </div> </div> </th> <th class="text grey right age"><relative-time prefix="" tense="past" datetime="2024-11-22T09:40:35Z" data-tooltip-content data-tooltip-interactive="true">2024-11-22 09:40:35 +00:00</relative-time></th> </tr> </thead> <tbody> <tr data-entryname="data" data-ready="true" class="ready entry"> <td class="name four wide"> <span class="truncate"> <svg viewBox="0 0 16 16" class="svg octicon-file-directory-fill" aria-hidden="true" width="16" height="16"><path d="M1.75 1A1.75 1.75 0 0 0 0 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0 0 16 13.25v-8.5A1.75 1.75 0 0 0 14.25 3H7.5a.25.25 0 0 1-.2-.1l-.9-1.2C6.07 1.26 5.55 1 5 1z"/></svg> <a class="muted" href="/openstack/releases/src/branch/master/data" title="data"> data </a> </span> </td> <td class="message nine wide"> <span class="truncate"> <a href="/openstack/releases/commit/865cdabf485201d96689561a11ef14ec12b47150" class="default-link muted">Merge "Update I18n process with liaison"</a> </span> </td> <td class="text right age three wide"><relative-time prefix="" tense="past" datetime="2024-10-03T12:02:33Z" data-tooltip-content data-tooltip-interactive="true">2024-10-03 12:02:33 +00:00</relative-time></td> </tr> <tr data-entryname="deliverables" data-ready="true" class="ready entry"> <td class="name four wide"> <span class="truncate"> <svg viewBox="0 0 16 16" class="svg octicon-file-directory-fill" aria-hidden="true" width="16" height="16"><path d="M1.75 1A1.75 1.75 0 0 0 0 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0 0 16 13.25v-8.5A1.75 1.75 0 0 0 14.25 3H7.5a.25.25 0 0 1-.2-.1l-.9-1.2C6.07 1.26 5.55 1 5 1z"/></svg> <a class="muted" href="/openstack/releases/src/branch/master/deliverables" title="deliverables"> deliverables </a> </span> </td> <td class="message nine wide"> <span class="truncate"> <a href="/openstack/releases/commit/1928a01ae52a57097864aa8a82fbc07a9a8be8ec" class="default-link muted">Merge "Release os-vif for Epoxy-1 milestone"</a> </span> </td> <td class="text right age three wide"><relative-time prefix="" tense="past" datetime="2024-11-22T09:40:35Z" data-tooltip-content data-tooltip-interactive="true">2024-11-22 09:40:35 +00:00</relative-time></td> </tr> <tr data-entryname="doc" data-ready="true" class="ready entry"> <td class="name four wide"> <span class="truncate"> <svg viewBox="0 0 16 16" class="svg octicon-file-directory-fill" aria-hidden="true" width="16" height="16"><path d="M1.75 1A1.75 1.75 0 0 0 0 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0 0 16 13.25v-8.5A1.75 1.75 0 0 0 14.25 3H7.5a.25.25 0 0 1-.2-.1l-.9-1.2C6.07 1.26 5.55 1 5 1z"/></svg> <a class="muted" href="/openstack/releases/src/branch/master/doc" title="doc"> doc </a> </span> </td> <td class="message nine wide"> <span class="truncate"> <a href="/openstack/releases/commit/0f0bd4bd6fbc518295e869d82e5dfeea2a8b90cb" class="default-link muted">Oslo dates for Epoxy schedule.</a> </span> </td> <td class="text right age three wide"><relative-time prefix="" tense="past" datetime="2024-11-12T08:41:45+01:00" data-tooltip-content data-tooltip-interactive="true">2024-11-12 08:41:45 +01:00</relative-time></td> </tr> <tr data-entryname="openstack_releases" data-ready="true" class="ready entry"> <td class="name four wide"> <span class="truncate"> <svg viewBox="0 0 16 16" class="svg octicon-file-directory-fill" aria-hidden="true" width="16" height="16"><path d="M1.75 1A1.75 1.75 0 0 0 0 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0 0 16 13.25v-8.5A1.75 1.75 0 0 0 14.25 3H7.5a.25.25 0 0 1-.2-.1l-.9-1.2C6.07 1.26 5.55 1 5 1z"/></svg> <a class="muted" href="/openstack/releases/src/branch/master/openstack_releases" title="openstack_releases"> openstack_releases </a> </span> </td> <td class="message nine wide"> <span class="truncate"> <a href="/openstack/releases/commit/a9f99dfca96d01a3234ea18e9a98075291c259d5" class="default-link muted">Extend validator to accept <year>.<id>-<state> tags</a> </span> </td> <td class="text right age three wide"><relative-time prefix="" tense="past" datetime="2024-11-07T18:02:27+01:00" data-tooltip-content data-tooltip-interactive="true">2024-11-07 18:02:27 +01:00</relative-time></td> </tr> <tr data-entryname="playbooks" data-ready="true" class="ready entry"> <td class="name four wide"> <span class="truncate"> <svg viewBox="0 0 16 16" class="svg octicon-file-directory-fill" aria-hidden="true" width="16" height="16"><path d="M1.75 1A1.75 1.75 0 0 0 0 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0 0 16 13.25v-8.5A1.75 1.75 0 0 0 14.25 3H7.5a.25.25 0 0 1-.2-.1l-.9-1.2C6.07 1.26 5.55 1 5 1z"/></svg> <a class="muted" href="/openstack/releases/src/branch/master/playbooks" title="playbooks"> playbooks </a> </span> </td> <td class="message nine wide"> <span class="truncate"> <a href="/openstack/releases/commit/86be99460d7a2b84de51b114770af566351dd61c" class="default-link muted">[CI] Return tox-validate job log as zuul artifact</a> </span> </td> <td class="text right age three wide"><relative-time prefix="" tense="past" datetime="2024-03-20T16:21:14+01:00" data-tooltip-content data-tooltip-interactive="true">2024-03-20 16:21:14 +01:00</relative-time></td> </tr> <tr data-entryname="templates" data-ready="true" class="ready entry"> <td class="name four wide"> <span class="truncate"> <svg viewBox="0 0 16 16" class="svg octicon-file-directory-fill" aria-hidden="true" width="16" height="16"><path d="M1.75 1A1.75 1.75 0 0 0 0 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0 0 16 13.25v-8.5A1.75 1.75 0 0 0 14.25 3H7.5a.25.25 0 0 1-.2-.1l-.9-1.2C6.07 1.26 5.55 1 5 1z"/></svg> <a class="muted" href="/openstack/releases/src/branch/master/templates" title="templates"> templates </a> </span> </td> <td class="message nine wide"> <span class="truncate"> <a href="/openstack/releases/commit/fc499907e8a06af5e18815c12af136592e567fab" class="default-link muted">Remove unused RC templates</a> </span> </td> <td class="text right age three wide"><relative-time prefix="" tense="past" datetime="2019-09-23T18:04:44+02:00" data-tooltip-content data-tooltip-interactive="true">2019-09-23 18:04:44 +02:00</relative-time></td> </tr> <tr data-entryname="tools" data-ready="true" class="ready entry"> <td class="name four wide"> <span class="truncate"> <svg viewBox="0 0 16 16" class="svg octicon-file-directory-fill" aria-hidden="true" width="16" height="16"><path d="M1.75 1A1.75 1.75 0 0 0 0 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0 0 16 13.25v-8.5A1.75 1.75 0 0 0 14.25 3H7.5a.25.25 0 0 1-.2-.1l-.9-1.2C6.07 1.26 5.55 1 5 1z"/></svg> <a class="muted" href="/openstack/releases/src/branch/master/tools" title="tools"> tools </a> </span> </td> <td class="message nine wide"> <span class="truncate"> <a href="/openstack/releases/commit/16105b99dc6923e73b62a1020709a0af9f96912a" class="default-link muted">[tool] Handle new branch name style in list_eom_stale_branches.sh</a> </span> </td> <td class="text right age three wide"><relative-time prefix="" tense="past" datetime="2024-11-13T15:53:14+01:00" data-tooltip-content data-tooltip-interactive="true">2024-11-13 15:53:14 +01:00</relative-time></td> </tr> <tr data-entryname=".gitignore" data-ready="true" class="ready entry"> <td class="name four wide"> <span class="truncate"> <svg viewBox="0 0 16 16" class="svg octicon-file" aria-hidden="true" width="16" height="16"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914z"/></svg> <a class="muted" href="/openstack/releases/src/branch/master/.gitignore" title=".gitignore">.gitignore</a> </span> </td> <td class="message nine wide"> <span class="truncate"> <a href="/openstack/releases/commit/9580e50be7606c0da7946bb4bb15b0b458d5a804" class="default-link muted">Switch to stestr</a> </span> </td> <td class="text right age three wide"><relative-time prefix="" tense="past" datetime="2018-07-10T10:38:33+07:00" data-tooltip-content data-tooltip-interactive="true">2018-07-10 10:38:33 +07:00</relative-time></td> </tr> <tr data-entryname=".gitreview" data-ready="true" class="ready entry"> <td class="name four wide"> <span class="truncate"> <svg viewBox="0 0 16 16" class="svg octicon-file" aria-hidden="true" width="16" height="16"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914z"/></svg> <a class="muted" href="/openstack/releases/src/branch/master/.gitreview" title=".gitreview">.gitreview</a> </span> </td> <td class="message nine wide"> <span class="truncate"> <a href="/openstack/releases/commit/b32f071383e31e2f626561379133962724086f94" class="default-link muted">OpenDev Migration Patch</a> </span> </td> <td class="text right age three wide"><relative-time prefix="" tense="past" datetime="2019-04-19T19:37:48Z" data-tooltip-content data-tooltip-interactive="true">2019-04-19 19:37:48 +00:00</relative-time></td> </tr> <tr data-entryname=".stestr.conf" data-ready="true" class="ready entry"> <td class="name four wide"> <span class="truncate"> <svg viewBox="0 0 16 16" class="svg octicon-file" aria-hidden="true" width="16" height="16"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914z"/></svg> <a class="muted" href="/openstack/releases/src/branch/master/.stestr.conf" title=".stestr.conf">.stestr.conf</a> </span> </td> <td class="message nine wide"> <span class="truncate"> <a href="/openstack/releases/commit/9580e50be7606c0da7946bb4bb15b0b458d5a804" class="default-link muted">Switch to stestr</a> </span> </td> <td class="text right age three wide"><relative-time prefix="" tense="past" datetime="2018-07-10T10:38:33+07:00" data-tooltip-content data-tooltip-interactive="true">2018-07-10 10:38:33 +07:00</relative-time></td> </tr> <tr data-entryname=".zuul.yaml" data-ready="true" class="ready entry"> <td class="name four wide"> <span class="truncate"> <svg viewBox="0 0 16 16" class="svg octicon-file" aria-hidden="true" width="16" height="16"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914z"/></svg> <a class="muted" href="/openstack/releases/src/branch/master/.zuul.yaml" title=".zuul.yaml">.zuul.yaml</a> </span> </td> <td class="message nine wide"> <span class="truncate"> <a href="/openstack/releases/commit/865451392f554ff6b77c4b63e2df8142350421a0" class="default-link muted">Add irrelevant-files for openstack-tox-py312</a> </span> </td> <td class="text right age three wide"><relative-time prefix="" tense="past" datetime="2024-07-15T13:41:57+02:00" data-tooltip-content data-tooltip-interactive="true">2024-07-15 13:41:57 +02:00</relative-time></td> </tr> <tr data-entryname="bindep.txt" data-ready="true" class="ready entry"> <td class="name four wide"> <span class="truncate"> <svg viewBox="0 0 16 16" class="svg octicon-file" aria-hidden="true" width="16" height="16"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914z"/></svg> <a class="muted" href="/openstack/releases/src/branch/master/bindep.txt" title="bindep.txt">bindep.txt</a> </span> </td> <td class="message nine wide"> <span class="truncate"> <a href="/openstack/releases/commit/026fc0186efb992f18895e989806eed411a3cc04" class="default-link muted">Render a graph showing the SLURP and not SLURP upgrade paths</a> </span> </td> <td class="text right age three wide"><relative-time prefix="" tense="past" datetime="2024-10-02T14:49:21Z" data-tooltip-content data-tooltip-interactive="true">2024-10-02 14:49:21 +00:00</relative-time></td> </tr> <tr data-entryname="CONTRIBUTING.rst" data-ready="true" class="ready entry"> <td class="name four wide"> <span class="truncate"> <svg viewBox="0 0 16 16" class="svg octicon-file" aria-hidden="true" width="16" height="16"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914z"/></svg> <a class="muted" href="/openstack/releases/src/branch/master/CONTRIBUTING.rst" title="CONTRIBUTING.rst">CONTRIBUTING.rst</a> </span> </td> <td class="message nine wide"> <span class="truncate"> <a href="/openstack/releases/commit/2fbc89387dc05547184344e82edfcef724a8df42" class="default-link muted">Move release team ladder & infra into proper page</a> </span> </td> <td class="text right age three wide"><relative-time prefix="" tense="past" datetime="2021-07-22T15:31:25+02:00" data-tooltip-content data-tooltip-interactive="true">2021-07-22 15:31:25 +02:00</relative-time></td> </tr> <tr data-entryname="LICENSE" data-ready="true" class="ready entry"> <td class="name four wide"> <span class="truncate"> <svg viewBox="0 0 16 16" class="svg octicon-file" aria-hidden="true" width="16" height="16"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914z"/></svg> <a class="muted" href="/openstack/releases/src/branch/master/LICENSE" title="LICENSE">LICENSE</a> </span> </td> <td class="message nine wide"> <span class="truncate"> <a href="/openstack/releases/commit/a8fababaf5e07b9f3193db9441b768fc7aa9194e" class="default-link muted">Add top level LICENSE file</a> </span> </td> <td class="text right age three wide"><relative-time prefix="" tense="past" datetime="2018-10-17T10:36:04+11:00" data-tooltip-content data-tooltip-interactive="true">2018-10-17 10:36:04 +11:00</relative-time></td> </tr> <tr data-entryname="README.rst" data-ready="true" class="ready entry"> <td class="name four wide"> <span class="truncate"> <svg viewBox="0 0 16 16" class="svg octicon-file" aria-hidden="true" width="16" height="16"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914z"/></svg> <a class="muted" href="/openstack/releases/src/branch/master/README.rst" title="README.rst">README.rst</a> </span> </td> <td class="message nine wide"> <span class="truncate"> <a href="/openstack/releases/commit/6e73a6cfbe513f96e8cb2bfd9ec825c264a523af" class="default-link muted">moving to OFTC</a> </span> </td> <td class="text right age three wide"><relative-time prefix="" tense="past" datetime="2021-05-27T13:53:16+02:00" data-tooltip-content data-tooltip-interactive="true">2021-05-27 13:53:16 +02:00</relative-time></td> </tr> <tr data-entryname="requirements.txt" data-ready="true" class="ready entry"> <td class="name four wide"> <span class="truncate"> <svg viewBox="0 0 16 16" class="svg octicon-file" aria-hidden="true" width="16" height="16"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914z"/></svg> <a class="muted" href="/openstack/releases/src/branch/master/requirements.txt" title="requirements.txt">requirements.txt</a> </span> </td> <td class="message nine wide"> <span class="truncate"> <a href="/openstack/releases/commit/97127bede13cd672c21f889fb0ce49b44295a40c" class="default-link muted">Update for Unmaintained transition</a> </span> </td> <td class="text right age three wide"><relative-time prefix="" tense="past" datetime="2024-03-15T08:14:24+01:00" data-tooltip-content data-tooltip-interactive="true">2024-03-15 08:14:24 +01:00</relative-time></td> </tr> <tr data-entryname="setup.cfg" data-ready="true" class="ready entry"> <td class="name four wide"> <span class="truncate"> <svg viewBox="0 0 16 16" class="svg octicon-file" aria-hidden="true" width="16" height="16"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914z"/></svg> <a class="muted" href="/openstack/releases/src/branch/master/setup.cfg" title="setup.cfg">setup.cfg</a> </span> </td> <td class="message nine wide"> <span class="truncate"> <a href="/openstack/releases/commit/97127bede13cd672c21f889fb0ce49b44295a40c" class="default-link muted">Update for Unmaintained transition</a> </span> </td> <td class="text right age three wide"><relative-time prefix="" tense="past" datetime="2024-03-15T08:14:24+01:00" data-tooltip-content data-tooltip-interactive="true">2024-03-15 08:14:24 +01:00</relative-time></td> </tr> <tr data-entryname="setup.py" data-ready="true" class="ready entry"> <td class="name four wide"> <span class="truncate"> <svg viewBox="0 0 16 16" class="svg octicon-file" aria-hidden="true" width="16" height="16"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914z"/></svg> <a class="muted" href="/openstack/releases/src/branch/master/setup.py" title="setup.py">setup.py</a> </span> </td> <td class="message nine wide"> <span class="truncate"> <a href="/openstack/releases/commit/8d54b2078de6b4547b654920f5036033fe74f305" class="default-link muted">[Trivial] Remove executable privilege of setup.py</a> </span> </td> <td class="text right age three wide"><relative-time prefix="" tense="past" datetime="2016-05-09T16:38:37Z" data-tooltip-content data-tooltip-interactive="true">2016-05-09 16:38:37 +00:00</relative-time></td> </tr> <tr data-entryname="test-requirements.txt" data-ready="true" class="ready entry"> <td class="name four wide"> <span class="truncate"> <svg viewBox="0 0 16 16" class="svg octicon-file" aria-hidden="true" width="16" height="16"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914z"/></svg> <a class="muted" href="/openstack/releases/src/branch/master/test-requirements.txt" title="test-requirements.txt">test-requirements.txt</a> </span> </td> <td class="message nine wide"> <span class="truncate"> <a href="/openstack/releases/commit/493b7bf33ad827e2b673d324685c5d46d58b35d2" class="default-link muted">Update to latest hacking for pep8 checks</a> </span> </td> <td class="text right age three wide"><relative-time prefix="" tense="past" datetime="2020-07-27T16:33:03-05:00" data-tooltip-content data-tooltip-interactive="true">2020-07-27 16:33:03 -05:00</relative-time></td> </tr> <tr data-entryname="tox.ini" data-ready="true" class="ready entry"> <td class="name four wide"> <span class="truncate"> <svg viewBox="0 0 16 16" class="svg octicon-file" aria-hidden="true" width="16" height="16"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914z"/></svg> <a class="muted" href="/openstack/releases/src/branch/master/tox.ini" title="tox.ini">tox.ini</a> </span> </td> <td class="message nine wide"> <span class="truncate"> <a href="/openstack/releases/commit/35db4c21e68a77c68510ed59aa71a8d9238bac39" class="default-link muted">Remove virtualenv pinning</a> </span> </td> <td class="text right age three wide"><relative-time prefix="" tense="past" datetime="2023-03-23T20:08:34+01:00" data-tooltip-content data-tooltip-interactive="true">2023-03-23 20:08:34 +01:00</relative-time></td> </tr> <tr data-entryname="watched_queries.yml" data-ready="true" class="ready entry"> <td class="name four wide"> <span class="truncate"> <svg viewBox="0 0 16 16" class="svg octicon-file" aria-hidden="true" width="16" height="16"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914z"/></svg> <a class="muted" href="/openstack/releases/src/branch/master/watched_queries.yml" title="watched_queries.yml">watched_queries.yml</a> </span> </td> <td class="message nine wide"> <span class="truncate"> <a href="/openstack/releases/commit/e7000617626ad770c30c19bdc601ce293c521550" class="default-link muted">Rename review.openstack.org to review.opendev.org</a> </span> </td> <td class="text right age three wide"><relative-time prefix="" tense="past" datetime="2019-05-12T04:33:25+08:00" data-tooltip-content data-tooltip-interactive="true">2019-05-12 04:33:25 +08:00</relative-time></td> </tr> <tr data-entryname="yamllint.yml" data-ready="true" class="ready entry"> <td class="name four wide"> <span class="truncate"> <svg viewBox="0 0 16 16" class="svg octicon-file" aria-hidden="true" width="16" height="16"><path d="M2 1.75C2 .784 2.784 0 3.75 0h6.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16h-9.5A1.75 1.75 0 0 1 2 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h9.5a.25.25 0 0 0 .25-.25V6h-2.75A1.75 1.75 0 0 1 9 4.25V1.5Zm6.75.062V4.25c0 .138.112.25.25.25h2.688l-.011-.013-2.914-2.914z"/></svg> <a class="muted" href="/openstack/releases/src/branch/master/yamllint.yml" title="yamllint.yml">yamllint.yml</a> </span> </td> <td class="message nine wide"> <span class="truncate"> <a href="/openstack/releases/commit/0ddb0af27d5558ad0b3fb5c99b955f624cc3dff1" class="default-link muted">add linter rules for vertical whitespace</a> </span> </td> <td class="text right age three wide"><relative-time prefix="" tense="past" datetime="2017-07-31T17:26:33-04:00" data-tooltip-content data-tooltip-interactive="true">2017-07-31 17:26:33 -04:00</relative-time></td> </tr> </tbody> </table> <div id="readme" class="tab-size-4 non-diff-file-content"> <h4 class="file-header ui top attached header tw-flex tw-items-center tw-justify-between tw-flex-wrap"> <div class="file-header-left tw-flex tw-items-center tw-py-2 tw-pr-4"> <svg viewBox="0 0 16 16" class="tw-mr-2 svg octicon-book" aria-hidden="true" width="16" height="16"><path d="M0 1.75A.75.75 0 0 1 .75 1h4.253c1.227 0 2.317.59 3 1.501A3.74 3.74 0 0 1 11.006 1h4.245a.75.75 0 0 1 .75.75v10.5a.75.75 0 0 1-.75.75h-4.507a2.25 2.25 0 0 0-1.591.659l-.622.621a.75.75 0 0 1-1.06 0l-.622-.621A2.25 2.25 0 0 0 5.258 13H.75a.75.75 0 0 1-.75-.75Zm7.251 10.324.004-5.073-.002-2.253A2.25 2.25 0 0 0 5.003 2.5H1.5v9h3.757a3.75 3.75 0 0 1 1.994.574M8.755 4.75l-.004 7.322a3.75 3.75 0 0 1 1.992-.572H14.5v-9h-3.495a2.25 2.25 0 0 0-2.25 2.25"/></svg> <strong><a class="default-link muted" href="#readme">README.rst</a></strong> </div> <div class="file-header-right file-actions tw-flex tw-items-center tw-flex-wrap"> </div> </h4> <div class="ui bottom attached table unstackable segment"> <div class="file-view markup pandoc"> <h1 id="user-content-openstack-releases">OpenStack Releases</h1> <p><a href="https://governance.openstack.org/tc/reference/tags/index.html" rel="nofollow"><img src="https://governance.openstack.org/tc/badges/releases.svg" alt="image"></a></p> <p>This repository is used to drive release automation for OpenStack release deliverables, ultimately publishing them on the <a href="https://releases.openstack.org/" rel="nofollow">https://releases.openstack.org/</a> website.</p> <p>Changes to this repository are proposed using Gerrit at <a href="https://review.opendev.org" rel="nofollow">https://review.opendev.org</a>. This repository is managed by the OpenStack <a href="https://governance.openstack.org/tc/reference/projects/release-management.html" rel="nofollow">Release Management team</a>.</p> <p>For more information on how to use this repository, please read our <a href="https://releases.openstack.org/#references" rel="nofollow">reference documentation</a>.</p> <h2 id="user-content-who-should-use-this-repository">Who should use this repository</h2> <p>All official OpenStack software should go through the OpenStack <a href="https://governance.openstack.org/tc/reference/projects/release-management.html" rel="nofollow">Release Management team</a> team to produce releases. Exceptions to this rule are granted by the Technical Committee and documented in the openstack/governance repository ('release-management' key in reference/projects.yaml).</p> <p>Deliverables managed by teams not under OpenStack governance should follow the <a href="https://docs.openstack.org/infra/manual/drivers.html#tagging-a-release" rel="nofollow">tagging instructions in the infra manual</a>.</p> <h2 id="user-content-more-information">More information</h2> <p>You can reach the Release Management team on the #openstack-release channel on <span>OFTC IRC <<a href="https://www.oftc.net/" rel="nofollow">https://www.oftc.net/</a>></span>, or by sending an email with '[release]' as a subject prefix to the <a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-discuss" rel="nofollow">openstack-discuss</a> mailing-list.</p> </div> </div> </div> </div> </div> </div> <footer class="page-footer" role="group" aria-label="Footer"> <div class="left-links" role="contentinfo" aria-label="About Software"> <a target="_blank" rel="noopener noreferrer" href="https://about.gitea.com">Powered by Gitea</a> Version: v1.22.3 Page: <strong>86ms</strong> Template: <strong>6ms</strong> </div> <div class="right-links" role="group" aria-label="Links"> <div class="ui dropdown upward language"> <span class="flex-text-inline"><svg viewBox="0 0 16 16" class="svg octicon-globe" aria-hidden="true" width="14" height="14"><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0M5.78 8.75a9.64 9.64 0 0 0 1.363 4.177q.383.64.857 1.215c.245-.296.551-.705.857-1.215A9.64 9.64 0 0 0 10.22 8.75Zm4.44-1.5a9.64 9.64 0 0 0-1.363-4.177c-.307-.51-.612-.919-.857-1.215a10 10 0 0 0-.857 1.215A9.64 9.64 0 0 0 5.78 7.25Zm-5.944 1.5H1.543a6.51 6.51 0 0 0 4.666 5.5q-.184-.271-.352-.552c-.715-1.192-1.437-2.874-1.581-4.948m-2.733-1.5h2.733c.144-2.074.866-3.756 1.58-4.948q.18-.295.353-.552a6.51 6.51 0 0 0-4.666 5.5m10.181 1.5c-.144 2.074-.866 3.756-1.58 4.948q-.18.296-.353.552a6.51 6.51 0 0 0 4.666-5.5Zm2.733-1.5a6.51 6.51 0 0 0-4.666-5.5q.184.272.353.552c.714 1.192 1.436 2.874 1.58 4.948Z"/></svg> English</span> <div class="menu language-menu"> <a lang="id-ID" data-url="/?lang=id-ID" class="item ">Bahasa Indonesia</a> <a lang="de-DE" data-url="/?lang=de-DE" class="item ">Deutsch</a> <a lang="en-US" data-url="/?lang=en-US" class="item active selected">English</a> <a lang="es-ES" data-url="/?lang=es-ES" class="item ">Español</a> <a lang="fr-FR" data-url="/?lang=fr-FR" class="item ">Français</a> <a lang="it-IT" data-url="/?lang=it-IT" class="item ">Italiano</a> <a lang="lv-LV" data-url="/?lang=lv-LV" class="item ">Latviešu</a> <a lang="hu-HU" data-url="/?lang=hu-HU" class="item ">Magyar nyelv</a> <a lang="nl-NL" data-url="/?lang=nl-NL" class="item ">Nederlands</a> <a lang="pl-PL" data-url="/?lang=pl-PL" class="item ">Polski</a> <a lang="pt-PT" data-url="/?lang=pt-PT" class="item ">Português de Portugal</a> <a lang="pt-BR" data-url="/?lang=pt-BR" class="item ">Português do Brasil</a> <a lang="fi-FI" data-url="/?lang=fi-FI" class="item ">Suomi</a> <a lang="sv-SE" data-url="/?lang=sv-SE" class="item ">Svenska</a> <a lang="tr-TR" data-url="/?lang=tr-TR" class="item ">Türkçe</a> <a lang="cs-CZ" data-url="/?lang=cs-CZ" class="item ">Čeština</a> <a lang="el-GR" data-url="/?lang=el-GR" class="item ">Ελληνικά</a> <a lang="bg-BG" data-url="/?lang=bg-BG" class="item ">Български</a> <a lang="ru-RU" data-url="/?lang=ru-RU" class="item ">Русский</a> <a lang="uk-UA" data-url="/?lang=uk-UA" class="item ">Українська</a> <a lang="fa-IR" data-url="/?lang=fa-IR" class="item ">فارسی</a> <a lang="ml-IN" data-url="/?lang=ml-IN" class="item ">മലയാളം</a> <a lang="ja-JP" data-url="/?lang=ja-JP" class="item ">日本語</a> <a lang="zh-CN" data-url="/?lang=zh-CN" class="item ">简体中文</a> <a lang="zh-TW" data-url="/?lang=zh-TW" class="item ">繁體中文(台灣)</a> <a lang="zh-HK" data-url="/?lang=zh-HK" class="item ">繁體中文(香港)</a> <a lang="ko-KR" data-url="/?lang=ko-KR" class="item ">한국어</a> </div> </div> <a href="/assets/licenses.txt">Licenses</a> <a href="/api/swagger">API</a> </div> </footer> <script src="/assets/js/index.js?v=v1.22.3" onerror="alert('Failed to load asset files from ' + this.src + '. Please make sure the asset files can be accessed.')"></script> </body> </html>