blob: 7189f4b6b9a14a425a5567e4a4752f9c9801b06d [file] [log] [blame]
<!doctype html><html lang=en class=no-js><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name=generator content="Hugo 0.102.3"><meta name=robots content="index, follow"><link rel="shortcut icon" href=/favicons/favicon.ico><link rel=apple-touch-icon href=/favicons/apple-touch-icon-180x180.png sizes=180x180><link rel=icon type=image/png href=/favicons/favicon-16x16.png sizes=16x16><link rel=icon type=image/png href=/favicons/favicon-32x32.png sizes=32x32><link rel=icon type=image/png href=/favicons/android-36x36.png sizes=36x36><link rel=icon type=image/png href=/favicons/android-48x48.png sizes=48x48><link rel=icon type=image/png href=/favicons/android-72x72.png sizes=72x72><link rel=icon type=image/png href=/favicons/android-96x96.png sizes=96x96><link rel=icon type=image/png href=/favicons/android-144x144.png sizes=144x144><link rel=icon type=image/png href=/favicons/android-192x192.png sizes=192x192><title>Validate Apache Release | HugeGraph</title><meta name=description content="
Note: this doc will be updated continuously.
It is recommended to use Java11 in verification, we will drop Java8 support from version 1.5.0 …"><meta property="og:title" content="Validate Apache Release"><meta property="og:description" content="Note: this doc will be updated continuously. It is recommended to use Java11 in verification, we will drop Java8 support from version 1.5.0
Verification When the internal temporary release and packaging work is completed, other community developers ( especially PMC) need to participate in the verification link To ensure the &ldquo;correctness + completeness&rdquo; of someone&rsquo;s published version, here requires **everyone ** to participate as much as possible, and then explain which items you have checked in the subsequent email reply."><meta property="og:type" content="article"><meta property="og:url" content="/docs/contribution-guidelines/validate-release/"><meta property="article:section" content="docs"><meta property="article:modified_time" content="2024-03-27T15:04:04+08:00"><meta property="og:site_name" content="HugeGraph"><meta itemprop=name content="Validate Apache Release"><meta itemprop=description content="Note: this doc will be updated continuously. It is recommended to use Java11 in verification, we will drop Java8 support from version 1.5.0
Verification When the internal temporary release and packaging work is completed, other community developers ( especially PMC) need to participate in the verification link To ensure the &ldquo;correctness + completeness&rdquo; of someone&rsquo;s published version, here requires **everyone ** to participate as much as possible, and then explain which items you have checked in the subsequent email reply."><meta itemprop=dateModified content="2024-03-27T15:04:04+08:00"><meta itemprop=wordCount content="1135"><meta itemprop=keywords content><meta name=twitter:card content="summary"><meta name=twitter:title content="Validate Apache Release"><meta name=twitter:description content="Note: this doc will be updated continuously. It is recommended to use Java11 in verification, we will drop Java8 support from version 1.5.0
Verification When the internal temporary release and packaging work is completed, other community developers ( especially PMC) need to participate in the verification link To ensure the &ldquo;correctness + completeness&rdquo; of someone&rsquo;s published version, here requires **everyone ** to participate as much as possible, and then explain which items you have checked in the subsequent email reply."><link rel=preload href=/scss/main.min.14ea575cb35d93d46ff8681b2334f40fd46243c100c5c39f5a841b931fae2d40.css as=style><link href=/scss/main.min.14ea575cb35d93d46ff8681b2334f40fd46243c100c5c39f5a841b931fae2d40.css rel=stylesheet integrity><script src=https://code.jquery.com/jquery-3.5.1.min.js integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=" crossorigin=anonymous></script>
<link rel=stylesheet href=/css/prism.css><script type=application/javascript>var doNotTrack=!1;doNotTrack||(window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)},ga.l=+new Date,ga("create","UA-00000000-0","auto"),ga("send","pageview"))</script><script async src=https://www.google-analytics.com/analytics.js></script></head><body class=td-page><header><nav class="js-navbar-scroll navbar navbar-expand navbar-dark flex-column flex-md-row td-navbar"><a class=navbar-brand href=/><span class=navbar-logo><svg id="图层_1" data-name="图层 1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 16 16"><defs><style>.cls-1{fill:none;stroke:#fff;stroke-miterlimit:10;stroke-width:.5px;opacity:.3}.cls-2{fill:#229efa}.cls-3{fill:#9948f7}.cls-4{fill:#33bc7a}.cls-5{fill:url(#未命名的渐变_3)}.cls-6{fill:url(#未命名的渐变_13)}.cls-7{fill:url(#未命名的渐变_11)}</style><linearGradient id="未命名的渐变_3" x1="6.16" y1="14.63" x2="6.16" y2="6.01" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#2e3192"/><stop offset="0" stop-color="#229efa"/><stop offset=".44" stop-color="#239cf8"/><stop offset=".6" stop-color="#2795f2"/><stop offset=".71" stop-color="#2d8ae8"/><stop offset=".81" stop-color="#3679d9"/><stop offset=".89" stop-color="#4263c6"/><stop offset=".95" stop-color="#5048af"/><stop offset="1" stop-color="#5c319b"/></linearGradient><linearGradient id="未命名的渐变_13" x1="10.75" y1="8.2" x2="4.49" y2="1.94" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#991146"/><stop offset="0" stop-color="#326b4e"/><stop offset=".02" stop-color="#3a685c"/><stop offset=".07" stop-color="#506180"/><stop offset=".13" stop-color="#645aa0"/><stop offset=".19" stop-color="#7554bc"/><stop offset=".26" stop-color="#8250d2"/><stop offset=".35" stop-color="#8d4ce3"/><stop offset=".45" stop-color="#944aee"/><stop offset=".6" stop-color="#9848f5"/><stop offset="1" stop-color="#9948f7"/></linearGradient><linearGradient id="未命名的渐变_11" x1="15.34" y1="6.67" x2="7.88" y2="10.98" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#33bc7a"/><stop offset=".45" stop-color="#32ba7a"/><stop offset=".61" stop-color="#2fb37c"/><stop offset=".73" stop-color="#29a87e"/><stop offset=".82" stop-color="#219782"/><stop offset=".9" stop-color="#168186"/><stop offset=".97" stop-color="#09668b"/><stop offset="1" stop-color="#03598e"/></linearGradient></defs><title>logo</title><rect class="cls-1" x="-143.14" y="-373.46" width="597.8" height="424.44"/><circle class="cls-2" cx="12.02" cy="1.83" r="1.33"/><circle class="cls-3" cx="12.02" cy="14.17" r="1.33"/><circle class="cls-4" cx="1.33" cy="8" r="1.33"/><path class="cls-5" d="M7.91 10h0a2.65 2.65.0 01-.23-3.74A1.75 1.75.0 017.91 6h0A2.66 2.66.0 014.4 6h0a1.81 1.81.0 01.24.24A2.65 2.65.0 014.4 10h0a2.62 2.62.0 00-.89 2 2.65 2.65.0 104.4-2z"/><path class="cls-6" d="M12.19 5.49a2.78 2.78.0 01-.5.11A2.64 2.64.0 018.76 3.5h0a2.65 2.65.0 10-2.6 3.17A2.6 2.6.0 007 6.53H7a2.65 2.65.0 013.44 2 2.94 2.94.0 010-.51 2.65 2.65.0 011.75-2.53z"/><path class="cls-7" d="M13 5.35a2.64 2.64.0 00-2.59 2.12h0a3 3 0 01-.08.32A2.65 2.65.0 017.54 9.58a2.86 2.86.0 00.37.41h0a2.63 2.63.0 01.9 2 2.84 2.84.0 01-.05.51 2.64 2.64.0 013.12-2.06l.32.08h0a2.6 2.6.0 00.84.14 2.65 2.65.0 100-5.3z"/></svg></span><span class=font-weight-bold>HugeGraph</span></a><div class="td-navbar-nav-scroll ml-md-auto" id=main_navbar><ul class="navbar-nav mt-2 mt-lg-0"><li class="nav-item mr-4 mb-2 mb-lg-0"><a class=nav-link href=/docs/><i class='fas fa-book pr-2'></i><span>Documentation</span></a></li><li class="nav-item mr-4 mb-2 mb-lg-0"><a class=nav-link href=https://github.com/apache/incubator-hugegraph target=_blank><i class='fab fa-github pr-2'></i><span>GitHub</span></a></li><li class="nav-item mr-4 mb-2 mb-lg-0"><a class=nav-link href=/docs/download/download/><i class='fas fa-download pr-2'></i><span>Download</span></a></li><li class="nav-item mr-4 mb-2 mb-lg-0"><a class=nav-link href=/community/><span>Community</span></a></li><li class="nav-item dropdown mr-4 d-none d-lg-block"><a class="nav-link dropdown-toggle" href=# id=navbarDropdown role=button data-toggle=dropdown aria-haspopup=true aria-expanded=false>English</a><div class=dropdown-menu aria-labelledby=navbarDropdownMenuLink><a class=dropdown-item href=/cn/docs/contribution-guidelines/validate-release/>中文</a></div></li></ul></div><div class="navbar-nav d-none d-lg-block"></div></nav></header><div class="container-fluid td-outer"><div class=td-main><div class="row flex-xl-nowrap"><aside class="col-12 col-md-3 col-xl-2 td-sidebar d-print-none"><div id=td-sidebar-menu class=td-sidebar__inner><div id=content-mobile><form class="td-sidebar__search d-flex align-items-center"><button class="btn btn-link td-sidebar__toggle d-md-none p-0 ml-3 fas fa-bars" type=button data-toggle=collapse data-target=#td-section-nav aria-controls=td-docs-nav aria-expanded=false aria-label="Toggle section navigation"></button></form></div><div id=content-desktop></div><nav class="collapse td-sidebar-nav" id=td-section-nav><div class="nav-item dropdown d-block d-lg-none"><a class="nav-link dropdown-toggle" href=# id=navbarDropdown role=button data-toggle=dropdown aria-haspopup=true aria-expanded=false>English</a><div class=dropdown-menu aria-labelledby=navbarDropdownMenuLink><a class=dropdown-item href=/cn/docs/contribution-guidelines/validate-release/>中文</a></div></div><ul class="td-sidebar-nav__section pr-md-3 ul-0"><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id=m-docs-li><a href=/docs/ class="align-left pl-0 td-sidebar-link td-sidebar-link__section tree-root" id=m-docs><span>Documentation</span></a><ul class=ul-1><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-docsintroductionreadme-li><a href=/docs/introduction/readme/ title="Introduction with HugeGraph" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-docsintroductionreadme><span>Introduction</span></a></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-docsdownloaddownload-li><a href=/docs/download/download/ title="Download Apache HugeGraph (Incubating)" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-docsdownloaddownload><span>Download</span></a></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-docsquickstart-li><a href=/docs/quickstart/ class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-docsquickstart><span>Quick Start</span></a><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-docsquickstarthugegraph-server-li><a href=/docs/quickstart/hugegraph-server/ title="HugeGraph-Server Quick Start" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-docsquickstarthugegraph-server><span>Install/Build HugeGraph-Server</span></a></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-docsquickstarthugegraph-loader-li><a href=/docs/quickstart/hugegraph-loader/ title="HugeGraph-Loader Quick Start" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-docsquickstarthugegraph-loader><span>Load data with HugeGraph-Loader</span></a></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-docsquickstarthugegraph-hubble-li><a href=/docs/quickstart/hugegraph-hubble/ title="HugeGraph-Hubble Quick Start" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-docsquickstarthugegraph-hubble><span>Visual with HugeGraph-Hubble</span></a></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-docsquickstarthugegraph-client-li><a href=/docs/quickstart/hugegraph-client/ title="HugeGraph-Client Quick Start" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-docsquickstarthugegraph-client><span>Develop with HugeGraph-Client</span></a></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-docsquickstarthugegraph-ai-li><a href=/docs/quickstart/hugegraph-ai/ title="HugeGraph-AI Quick Start" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-docsquickstarthugegraph-ai><span>Explore with HugeGraph-AI</span></a></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-docsquickstarthugegraph-tools-li><a href=/docs/quickstart/hugegraph-tools/ title="HugeGraph-Tools Quick Start" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-docsquickstarthugegraph-tools><span>Manage with HugeGraph-Tools</span></a></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-docsquickstarthugegraph-computer-li><a href=/docs/quickstart/hugegraph-computer/ title="HugeGraph-Computer Quick Start" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-docsquickstarthugegraph-computer><span>Analysis with HugeGraph-Computer</span></a></li></ul></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-docsconfig-li><a href=/docs/config/ class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-docsconfig><span>Config</span></a><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-docsconfigconfig-guide-li><a href=/docs/config/config-guide/ title="HugeGraph configuration" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-docsconfigconfig-guide><span>Config Guide</span></a></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-docsconfigconfig-option-li><a href=/docs/config/config-option/ title="HugeGraph Config Options" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-docsconfigconfig-option><span>Config Options</span></a></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-docsconfigconfig-authentication-li><a href=/docs/config/config-authentication/ title="Built-in User Authentication and Authorization Configuration and Usage in HugeGraph" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-docsconfigconfig-authentication><span>Config Authentication</span></a></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-docsconfigconfig-https-li><a href=/docs/config/config-https/ title="Configuring HugeGraphServer to Use HTTPS Protocol" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-docsconfigconfig-https><span>Config HTTPS</span></a></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-docsconfigconfig-computer-li><a href=/docs/config/config-computer/ title="HugeGraph-Computer Config" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-docsconfigconfig-computer><span>Config Computer</span></a></li></ul></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-docsclients-li><a href=/docs/clients/ class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-docsclients><span>API</span></a><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-docsclientsrestful-api-li><a href=/docs/clients/restful-api/ title="HugeGraph RESTful API" class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-docsclientsrestful-api><span>RESTful API</span></a><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-docsclientsrestful-apischema-li><a href=/docs/clients/restful-api/schema/ title="Schema API" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-docsclientsrestful-apischema><span>Schema</span></a></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-docsclientsrestful-apipropertykey-li><a href=/docs/clients/restful-api/propertykey/ title="PropertyKey API" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-docsclientsrestful-apipropertykey><span>PropertyKey</span></a></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-docsclientsrestful-apivertexlabel-li><a href=/docs/clients/restful-api/vertexlabel/ title="VertexLabel API" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-docsclientsrestful-apivertexlabel><span>VertexLabel</span></a></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-docsclientsrestful-apiedgelabel-li><a href=/docs/clients/restful-api/edgelabel/ title="EdgeLabel API" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-docsclientsrestful-apiedgelabel><span>EdgeLabel</span></a></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-docsclientsrestful-apiindexlabel-li><a href=/docs/clients/restful-api/indexlabel/ title="IndexLabel API" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-docsclientsrestful-apiindexlabel><span>IndexLabel</span></a></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-docsclientsrestful-apirebuild-li><a href=/docs/clients/restful-api/rebuild/ title="Rebuild API" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-docsclientsrestful-apirebuild><span>Rebuild</span></a></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-docsclientsrestful-apivertex-li><a href=/docs/clients/restful-api/vertex/ title="Vertex API" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-docsclientsrestful-apivertex><span>Vertex</span></a></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-docsclientsrestful-apiedge-li><a href=/docs/clients/restful-api/edge/ title="Edge API" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-docsclientsrestful-apiedge><span>Edge</span></a></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-docsclientsrestful-apitraverser-li><a href=/docs/clients/restful-api/traverser/ title="Traverser API" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-docsclientsrestful-apitraverser><span>Traverser</span></a></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-docsclientsrestful-apirank-li><a href=/docs/clients/restful-api/rank/ title="Rank API" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-docsclientsrestful-apirank><span>Rank</span></a></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-docsclientsrestful-apivariable-li><a href=/docs/clients/restful-api/variable/ title="Variable API" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-docsclientsrestful-apivariable><span>Variable</span></a></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-docsclientsrestful-apigraphs-li><a href=/docs/clients/restful-api/graphs/ title="Graphs API" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-docsclientsrestful-apigraphs><span>Graphs</span></a></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-docsclientsrestful-apitask-li><a href=/docs/clients/restful-api/task/ title="Task API" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-docsclientsrestful-apitask><span>Task</span></a></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-docsclientsrestful-apigremlin-li><a href=/docs/clients/restful-api/gremlin/ title="Gremlin API" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-docsclientsrestful-apigremlin><span>Gremlin</span></a></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-docsclientsrestful-apicypher-li><a href=/docs/clients/restful-api/cypher/ title="Cypher API" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-docsclientsrestful-apicypher><span>Cypher</span></a></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-docsclientsrestful-apiauth-li><a href=/docs/clients/restful-api/auth/ title="Authentication API" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-docsclientsrestful-apiauth><span>Authentication</span></a></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-docsclientsrestful-apimetrics-li><a href=/docs/clients/restful-api/metrics/ title="Metrics API" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-docsclientsrestful-apimetrics><span>Metrics</span></a></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-docsclientsrestful-apiother-li><a href=/docs/clients/restful-api/other/ title="Other API" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-docsclientsrestful-apiother><span>Other</span></a></li></ul></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-docsclientshugegraph-client-li><a href=/docs/clients/hugegraph-client/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-docsclientshugegraph-client><span>HugeGraph Java Client</span></a></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-docsclientsgremlin-console-li><a href=/docs/clients/gremlin-console/ title=Gremlin-Console class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-docsclientsgremlin-console><span>Gremlin Console</span></a></li></ul></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-docsguides-li><a href=/docs/guides/ class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-docsguides><span>GUIDES</span></a><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-docsguidesarchitectural-li><a href=/docs/guides/architectural/ title="HugeGraph Architecture Overview" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-docsguidesarchitectural><span>Architecture Overview</span></a></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-docsguidesdesgin-concept-li><a href=/docs/guides/desgin-concept/ title="HugeGraph Design Concepts" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-docsguidesdesgin-concept><span>Design Concepts</span></a></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-docsguidescustom-plugin-li><a href=/docs/guides/custom-plugin/ title="HugeGraph Plugin mechanism and plug-in extension process" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-docsguidescustom-plugin><span>HugeGraph Plugin</span></a></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-docsguidesbackup-restore-li><a href=/docs/guides/backup-restore/ title="Backup and Restore" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-docsguidesbackup-restore><span>Backup Restore</span></a></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-docsguidesfaq-li><a href=/docs/guides/faq/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-docsguidesfaq><span>FAQ</span></a></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-docsguidessecurity-li><a href=/docs/guides/security/ title="Security Report" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-docsguidessecurity><span>Security</span></a></li></ul></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-docslanguage-li><a href=/docs/language/ class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-docslanguage><span>QUERY LANGUAGE</span></a><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-docslanguagehugegraph-gremlin-li><a href=/docs/language/hugegraph-gremlin/ title="HugeGraph Gremlin" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-docslanguagehugegraph-gremlin><span>Gremlin Query Language</span></a></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-docslanguagehugegraph-example-li><a href=/docs/language/hugegraph-example/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-docslanguagehugegraph-example><span>HugeGraph Examples</span></a></li></ul></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-docsperformance-li><a href=/docs/performance/ class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-docsperformance><span>PERFORMANCE</span></a><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-docsperformancehugegraph-benchmark-056-li><a href=/docs/performance/hugegraph-benchmark-0.5.6/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-docsperformancehugegraph-benchmark-056><span>HugeGraph BenchMark Performance</span></a></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-docsperformanceapi-preformance-li><a href=/docs/performance/api-preformance/ class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-docsperformanceapi-preformance><span>HugeGraph-API Performance</span></a><ul class="ul-3 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-docsperformanceapi-preformancehugegraph-api-056-rocksdb-li><a href=/docs/performance/api-preformance/hugegraph-api-0.5.6-rocksdb/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-docsperformanceapi-preformancehugegraph-api-056-rocksdb><span>v0.5.6 Stand-alone(RocksDB)</span></a></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-docsperformanceapi-preformancehugegraph-api-056-cassandra-li><a href=/docs/performance/api-preformance/hugegraph-api-0.5.6-cassandra/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-docsperformanceapi-preformancehugegraph-api-056-cassandra><span>v0.5.6 Cluster(Cassandra)</span></a></li></ul></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-docsperformancehugegraph-loader-performance-li><a href=/docs/performance/hugegraph-loader-performance/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-docsperformancehugegraph-loader-performance><span>HugeGraph-Loader Performance</span></a></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-docsperformancehugegraph-benchmark-044-li><a href=/docs/performance/hugegraph-benchmark-0.4.4/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-docsperformancehugegraph-benchmark-044><span></span></a></li></ul></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child active-path" id=m-docscontribution-guidelines-li><a href=/docs/contribution-guidelines/ class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-docscontribution-guidelines><span>Contribution Guidelines</span></a><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-docscontribution-guidelinescontribute-li><a href=/docs/contribution-guidelines/contribute/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-docscontribution-guidelinescontribute><span>How to Contribute to HugeGraph</span></a></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-docscontribution-guidelinessubscribe-li><a href=/docs/contribution-guidelines/subscribe/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-docscontribution-guidelinessubscribe><span>Subscribe Mailing Lists</span></a></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-docscontribution-guidelinesvalidate-release-li><a href=/docs/contribution-guidelines/validate-release/ class="align-left pl-0 active td-sidebar-link td-sidebar-link__page" id=m-docscontribution-guidelinesvalidate-release><span class=td-sidebar-nav-active-item>Validate Apache Release</span></a></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-docscontribution-guidelineshugegraph-server-idea-setup-li><a href=/docs/contribution-guidelines/hugegraph-server-idea-setup/ title="Setup Server in IDEA (Dev)" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-docscontribution-guidelineshugegraph-server-idea-setup><span>Setup Server in IDEA</span></a></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-docscontribution-guidelinescommitter-guidelines-li><a href=/docs/contribution-guidelines/committer-guidelines/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-docscontribution-guidelinescommitter-guidelines><span>Apache HugeGraph Committer Guide</span></a></li></ul></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section with-child" id=m-docschangelog-li><a href=/docs/changelog/ class="align-left pl-0 td-sidebar-link td-sidebar-link__section" id=m-docschangelog><span>CHANGELOGS</span></a><ul class="ul-2 foldable"><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-docschangeloghugegraph-100-release-notes-li><a href=/docs/changelog/hugegraph-1.0.0-release-notes/ title="HugeGraph 1.0.0 Release Notes" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-docschangeloghugegraph-100-release-notes><span>Release-1.0.0</span></a></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-docschangeloghugegraph-120-release-notes-li><a href=/docs/changelog/hugegraph-1.2.0-release-notes/ title="HugeGraph 1.2.0 Release Notes" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-docschangeloghugegraph-120-release-notes><span>Release-1.2.0</span></a></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-docschangeloghugegraph-130-release-notes-li><a href=/docs/changelog/hugegraph-1.3.0-release-notes/ title="HugeGraph 1.3.0 Release Notes" class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-docschangeloghugegraph-130-release-notes><span>Release-1.3.0</span></a></li></ul></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-docscla-li><a href=/docs/cla/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-docscla><span></span></a></li><li class="td-sidebar-nav__section-title td-sidebar-nav__section without-child" id=m-docssummary-li><a href=/docs/summary/ class="align-left pl-0 td-sidebar-link td-sidebar-link__page" id=m-docssummary><span></span></a></li></ul></li></ul></nav></div></aside><aside class="d-none d-xl-block col-xl-2 td-sidebar-toc d-print-none"><div class="td-page-meta ml-2 pb-1 pt-2 mb-0"><a href=https://github.com/apache/incubator-hugegraph-doc/tree/master/content/en/docs/contribution-guidelines/validate-release.md class=td-page-meta--view target=_blank rel=noopener><i class="fa fa-file-alt fa-fw"></i> View page source</a>
<a href=https://github.com/apache/incubator-hugegraph-doc/edit/master/content/en/docs/contribution-guidelines/validate-release.md class=td-page-meta--edit target=_blank rel=noopener><i class="fa fa-edit fa-fw"></i> Edit this page</a>
<a href="https://github.com/apache/incubator-hugegraph-doc/new/master/content/en/docs/contribution-guidelines/validate-release.md?filename=change-me.md&value=---%0Atitle%3A+%22Long+Page+Title%22%0AlinkTitle%3A+%22Short+Nav+Title%22%0Aweight%3A+100%0Adescription%3A+%3E-%0A+++++Page+description+for+heading+and+indexes.%0A---%0A%0A%23%23+Heading%0A%0AEdit+this+template+to+create+your+new+page.%0A%0A%2A+Give+it+a+good+name%2C+ending+in+%60.md%60+-+e.g.+%60getting-started.md%60%0A%2A+Edit+the+%22front+matter%22+section+at+the+top+of+the+page+%28weight+controls+how+its+ordered+amongst+other+pages+in+the+same+directory%3B+lowest+number+first%29.%0A%2A+Add+a+good+commit+message+at+the+bottom+of+the+page+%28%3C80+characters%3B+use+the+extended+description+field+for+more+detail%29.%0A%2A+Create+a+new+branch+so+you+can+preview+your+new+file+and+request+a+review+via+Pull+Request.%0A" class=td-page-meta--child target=_blank rel=noopener><i class="fa fa-edit fa-fw"></i> Create child page</a>
<a href="https://github.com/apache/incubator-hugegraph-doc/issues/new?title=Validate%20Apache%20Release" class=td-page-meta--issue target=_blank rel=noopener><i class="fab fa-github fa-fw"></i> Create documentation issue</a>
<a href=https://github.com/apache/incubator-hugegraph/issues/new class=td-page-meta--project-issue target=_blank rel=noopener><i class="fas fa-tasks fa-fw"></i> Create project issue</a>
<a id=print href=/docs/contribution-guidelines/_print/><i class="fa fa-print fa-fw"></i> Print entire section</a></div><div class=td-toc><nav id=TableOfContents><ul><li><a href=#verification>Verification</a><ul><li></li></ul></li><li><a href=#mail-template>Mail Template</a></li></ul></nav></div></aside><main class="col-12 col-md-9 col-xl-8 pl-md-5" role=main><nav aria-label=breadcrumb class=td-breadcrumbs><ol class=breadcrumb><li class=breadcrumb-item><a href=/docs/>Documentation</a></li><li class=breadcrumb-item><a href=/docs/contribution-guidelines/>Contribution Guidelines</a></li><li class="breadcrumb-item active" aria-current=page><a href=/docs/contribution-guidelines/validate-release/>Validate Apache Release</a></li></ol></nav><div class=td-content><h1>Validate Apache Release</h1><header class=article-meta></header><blockquote><p>Note: this doc will be updated continuously.
It is recommended to use Java11 in verification, we will drop Java8 support from version 1.5.0</p></blockquote><h2 id=verification>Verification</h2><p>When the internal temporary release and packaging work is completed, other community developers (
especially PMC) need to participate in the <a href=https://cwiki.apache.org/confluence/display/INCUBATOR/Incubator+Release+Checklist>verification link</a>
To ensure the &ldquo;correctness + completeness&rdquo; of someone&rsquo;s published version, here requires **everyone
** to participate as much as possible, and then explain which items you have <strong>checked</strong> in the
subsequent <strong>email reply</strong>.(The following are the core items)</p><h4 id=1-prepare>1. prepare</h4><p>If there is no svn or gpg or wget environment locally, it is recommended to install it first
(windows recommend using WSL2 environment, or at least <code>git-bash</code>), also make sure to install java
(recommended 11) and maven software</p><div class=highlight><pre tabindex=0 style=background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-bash data-lang=bash><span style=display:flex><span><span style=color:#8f5902;font-style:italic># 1. install svn</span>
</span></span><span style=display:flex><span><span style=color:#8f5902;font-style:italic># ubuntu/debian</span>
</span></span><span style=display:flex><span>sudo apt install subversion -y
</span></span><span style=display:flex><span><span style=color:#8f5902;font-style:italic># MacOS</span>
</span></span><span style=display:flex><span>brew install subversion
</span></span><span style=display:flex><span><span style=color:#8f5902;font-style:italic># To verify that the installation was successful, execute the following command:</span>
</span></span><span style=display:flex><span>svn --version
</span></span><span style=display:flex><span>
</span></span><span style=display:flex><span><span style=color:#8f5902;font-style:italic># 2. install gpg</span>
</span></span><span style=display:flex><span><span style=color:#8f5902;font-style:italic># ubuntu/debian</span>
</span></span><span style=display:flex><span>sudo apt-get install gnupg -y
</span></span><span style=display:flex><span><span style=color:#8f5902;font-style:italic># MacOS</span>
</span></span><span style=display:flex><span>brew install gnupg
</span></span><span style=display:flex><span><span style=color:#8f5902;font-style:italic># To verify that the installation was successful, execute the following command:</span>
</span></span><span style=display:flex><span>gpg --version
</span></span><span style=display:flex><span>
</span></span><span style=display:flex><span><span style=color:#8f5902;font-style:italic># 3. install wget (we will enhance it later, like use `curl`)</span>
</span></span><span style=display:flex><span><span style=color:#8f5902;font-style:italic># ubuntu/debian</span>
</span></span><span style=display:flex><span>sudo apt-get install wget -y
</span></span><span style=display:flex><span><span style=color:#8f5902;font-style:italic># MacOS</span>
</span></span><span style=display:flex><span>brew install wget
</span></span><span style=display:flex><span>
</span></span><span style=display:flex><span><span style=color:#8f5902;font-style:italic># 4. Download the hugegraph-svn directory </span>
</span></span><span style=display:flex><span><span style=color:#8f5902;font-style:italic># For version number, pay attention to fill in the verification version</span>
</span></span><span style=display:flex><span>svn co https://dist.apache.org/repos/dist/dev/incubator/hugegraph/1.x.x/
</span></span><span style=display:flex><span><span style=color:#8f5902;font-style:italic># (Note) If svn downloads a file very slowly, </span>
</span></span><span style=display:flex><span><span style=color:#8f5902;font-style:italic># you can consider wget to download a single file, as follows (or consider using a proxy)</span>
</span></span><span style=display:flex><span>wget https://dist.apache.org/repos/dist/dev/incubator/hugegraph/1.x.x/apache-hugegraph-toolchain-incubating-1.x.x.tar.gz
</span></span></code></pre></div><h4 id=2-check-hash-value>2. check hash value</h4><p>First you need to check the file integrity of the <code>source + binary</code> package, Verify by <code>shasum</code> to
ensure that it is consistent with the hash value published on apache/GitHub (Usually sha512), Here
is the same as the last step of 0x02 inspection.</p><div class=highlight><pre tabindex=0 style=background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-bash data-lang=bash><span style=display:flex><span>execute the following command:
</span></span><span style=display:flex><span><span style=color:#204a87;font-weight:700>for</span> i in *.tar.gz<span style=color:#000;font-weight:700>;</span> <span style=color:#204a87;font-weight:700>do</span> <span style=color:#204a87>echo</span> <span style=color:#000>$i</span><span style=color:#000;font-weight:700>;</span> shasum -a <span style=color:#0000cf;font-weight:700>512</span> --check <span style=color:#000>$i</span>.sha512<span style=color:#000;font-weight:700>;</span> <span style=color:#204a87;font-weight:700>done</span>
</span></span></code></pre></div><h4 id=3-check-gpg-signature>3. check gpg signature</h4><p>This is to ensure that the published package is uploaded by a <strong>reliable</strong> person.
Assuming tom signs and uploads,
others should download A&rsquo;s <strong>public key</strong> and then perform <strong>signature
confirmation</strong>.</p><p>Related commands:</p><div class=highlight><pre tabindex=0 style=background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-bash data-lang=bash><span style=display:flex><span><span style=color:#8f5902;font-style:italic># 1. Download project trusted public key to local (required for the first time) &amp; import</span>
</span></span><span style=display:flex><span>curl https://downloads.apache.org/incubator/hugegraph/KEYS &gt; KEYS
</span></span><span style=display:flex><span>gpg --import KEYS
</span></span><span style=display:flex><span>
</span></span><span style=display:flex><span><span style=color:#8f5902;font-style:italic># After importing, you can see the following output, which means that x user public keys have been imported</span>
</span></span><span style=display:flex><span>gpg: /home/ubuntu/.gnupg/trustdb.gpg: trustdb created
</span></span><span style=display:flex><span>gpg: key BA7E78F8A81A885E: public key <span style=color:#4e9a06>&#34;imbajin (apache mail) &lt;jin@apache.org&gt;&#34;</span> imported
</span></span><span style=display:flex><span>gpg: key 818108E7924549CC: public key <span style=color:#4e9a06>&#34;vaughn &lt;vaughn@apache.org&gt;&#34;</span> imported
</span></span><span style=display:flex><span>gpg: key 28DCAED849C4180E: public key <span style=color:#4e9a06>&#34;coderzc (CODE SIGNING KEY) &lt;zhaocong@apache.org&gt;&#34;</span> imported
</span></span><span style=display:flex><span>...
</span></span><span style=display:flex><span>gpg: Total number processed: x
</span></span><span style=display:flex><span>gpg: imported: x
</span></span><span style=display:flex><span>
</span></span><span style=display:flex><span><span style=color:#8f5902;font-style:italic># 2. Trust release users (trust n username mentioned in voting mail, if more than one user, </span>
</span></span><span style=display:flex><span><span style=color:#8f5902;font-style:italic># just repeat the steps in turn or use the script below)</span>
</span></span><span style=display:flex><span>gpg --edit-key <span style=color:#000>$USER</span> <span style=color:#8f5902;font-style:italic># input the username, enter the interactive mode</span>
</span></span><span style=display:flex><span>gpg&gt; trust
</span></span><span style=display:flex><span>...output options..
</span></span><span style=display:flex><span>Your decision? <span style=color:#0000cf;font-weight:700>5</span> <span style=color:#8f5902;font-style:italic># select 5</span>
</span></span><span style=display:flex><span>Do you really want to <span style=color:#204a87>set</span> this key to ultimate trust? <span style=color:#ce5c00;font-weight:700>(</span>y/N<span style=color:#ce5c00;font-weight:700>)</span> y <span style=color:#8f5902;font-style:italic># slect y, then q quits trusting the next user</span>
</span></span><span style=display:flex><span>
</span></span><span style=display:flex><span><span style=color:#8f5902;font-style:italic># (Optional) You could also use the command to trust one user in non-interactive mode:</span>
</span></span><span style=display:flex><span><span style=color:#204a87>echo</span> -e <span style=color:#4e9a06>&#34;5\ny\n&#34;</span> <span style=color:#000;font-weight:700>|</span> gpg --batch --command-fd <span style=color:#0000cf;font-weight:700>0</span> --edit-key <span style=color:#000>$USER</span> trust
</span></span><span style=display:flex><span><span style=color:#8f5902;font-style:italic># Or use the script to auto import all public gpg keys (be carefully):</span>
</span></span><span style=display:flex><span><span style=color:#204a87;font-weight:700>for</span> key in <span style=color:#204a87;font-weight:700>$(</span>gpg --no-tty --list-keys --with-colons <span style=color:#000;font-weight:700>|</span> awk -F: <span style=color:#4e9a06>&#39;/^pub/ {print $5}&#39;</span><span style=color:#204a87;font-weight:700>)</span><span style=color:#000;font-weight:700>;</span> <span style=color:#204a87;font-weight:700>do</span>
</span></span><span style=display:flex><span> <span style=color:#204a87>echo</span> -e <span style=color:#4e9a06>&#34;5\ny\n&#34;</span> <span style=color:#000;font-weight:700>|</span> gpg --batch --command-fd <span style=color:#0000cf;font-weight:700>0</span> --edit-key <span style=color:#4e9a06>&#34;</span><span style=color:#000>$key</span><span style=color:#4e9a06>&#34;</span> trust
</span></span><span style=display:flex><span><span style=color:#204a87;font-weight:700>done</span>
</span></span><span style=display:flex><span>
</span></span><span style=display:flex><span>
</span></span><span style=display:flex><span><span style=color:#8f5902;font-style:italic># 3. Check the signature (make sure there is no Warning output, every source/binary file prompts Good Signature)</span>
</span></span><span style=display:flex><span><span style=color:#8f5902;font-style:italic>#Single file verification</span>
</span></span><span style=display:flex><span>gpg --verify xx.asc xxx-src.tar.gz
</span></span><span style=display:flex><span>gpg --verify xx.asc xxx.tar.gz <span style=color:#8f5902;font-style:italic># Note: without the bin/binary suffix</span>
</span></span><span style=display:flex><span>
</span></span><span style=display:flex><span><span style=color:#8f5902;font-style:italic># One-click shell traversal verification (recommended)</span>
</span></span><span style=display:flex><span><span style=color:#204a87;font-weight:700>for</span> i in *.tar.gz<span style=color:#000;font-weight:700>;</span> <span style=color:#204a87;font-weight:700>do</span> <span style=color:#204a87>echo</span> <span style=color:#000>$i</span><span style=color:#000;font-weight:700>;</span> gpg --verify <span style=color:#000>$i</span>.asc <span style=color:#000>$i</span> <span style=color:#000;font-weight:700>;</span> <span style=color:#204a87;font-weight:700>done</span>
</span></span></code></pre></div><p>First confirm the overall integrity/consistency, and then confirm the specific content (<strong>key</strong>)</p><h4 id=4-check-the-archive-contents>4. Check the archive contents</h4><p>Check the contents of the archive downloaded from preparation work. Divided into two aspects: source code package + binary package, The source code package is stricter, it can be said that the core part (Because it is longer, For a complete list refer to
the official <a href=https://cwiki.apache.org/confluence/display/INCUBATOR/Incubator+Release+Checklist>Wiki</a>)</p><h5 id=a-source-package>A. source package</h5><p>After decompressing <code>*hugegraph*src.tar.gz</code>, Do the following checks:</p><ol><li>folders with <code>incubating</code>, and no <strong>empty</strong> files/folders</li><li><code>LICENSE</code> + <code>NOTICE</code> + <code>DISCLAIM</code> file exists and the content is normal</li><li><strong>does not exist</strong> binaries (without LICENSE)</li><li>The source code files all contain the standard <code>ASF License</code> header (this could be done with
the <code>Maven-MAT</code> plugin)</li><li>Check whether the <code>pom.xml</code> version number of each parent/child module is consistent (and meet
expectations)</li><li>Finally, make sure the source code works/compiles correctly</li></ol><div class=highlight><pre tabindex=0 style=background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-bash data-lang=bash><span style=display:flex><span><span style=color:#8f5902;font-style:italic># prefer to use/switch to `java 11` for the following operations (compiling/running) (Note: `Computer` only supports `java &gt;= 11`)</span>
</span></span><span style=display:flex><span><span style=color:#8f5902;font-style:italic># java --version</span>
</span></span><span style=display:flex><span>
</span></span><span style=display:flex><span><span style=color:#8f5902;font-style:italic># try to compile in the Unix env to check if it works well</span>
</span></span><span style=display:flex><span>mvn clean package -P stage -Dmaven.test.skip<span style=color:#ce5c00;font-weight:700>=</span><span style=color:#204a87>true</span> -Dcheckstyle.skip<span style=color:#ce5c00;font-weight:700>=</span><span style=color:#204a87>true</span>
</span></span></code></pre></div><h5 id=b-binary-package>B. binary package</h5><p>After decompressing <code>xxx-hugegraph.tar.gz</code>, perform the following checks:</p><ol><li>folders with <code>incubating</code></li><li><code>LICENSE</code> and <code>NOTICE</code> file exists and the content is normal</li><li>start server</li></ol><div class=highlight><pre tabindex=0 style=background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-bash data-lang=bash><span style=display:flex><span><span style=color:#8f5902;font-style:italic># hugegraph-server</span>
</span></span><span style=display:flex><span>bin/start-hugegraph.sh
</span></span><span style=display:flex><span>
</span></span><span style=display:flex><span><span style=color:#8f5902;font-style:italic># hugegraph-loader</span>
</span></span><span style=display:flex><span>bin/hugegraph-loader.sh -g hugegraph -f example/file/struct.json -s example/file/schema.groovy
</span></span><span style=display:flex><span>
</span></span><span style=display:flex><span><span style=color:#8f5902;font-style:italic># hugegraph-hubble</span>
</span></span><span style=display:flex><span>bin/start-hubble.sh
</span></span><span style=display:flex><span>
</span></span><span style=display:flex><span>more reference official website: https://hugegraph.apache.org/docs/quickstart
</span></span></code></pre></div><p><strong>Note:</strong> If a third-party dependency is introduced in the binary package, you need to update the
LICENSE and add the third-party dependent LICENSE; if the third-party dependent LICENSE is Apache
2.0, and the corresponding project contains NOTICE, you also need to update Our NOTICE file</p><h4 id=5-check-the-official-website-and-github-and-other-pages>5. Check the official website and GitHub and other pages</h4><ol><li>Make sure that the official website at least meets <a href=https://whimsy.apache.org/pods/project/hugegraph>apache website check</a>,
and no circular links, etc.</li><li>Update <strong>download link</strong> and release notes updated</li><li>&mldr;</li></ol><h2 id=mail-template>Mail Template</h2><p>After the check & test, you should reply to the mail with the following content: (normal devs & PMC)</p><div class=highlight><pre tabindex=0 style=background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-markdown data-lang=markdown><span style=display:flex><span>[] +1 approve
</span></span><span style=display:flex><span>
</span></span><span style=display:flex><span>[] +0 no opinion
</span></span><span style=display:flex><span>
</span></span><span style=display:flex><span>[] -1 disapprove with the reason
</span></span></code></pre></div><div class=highlight><pre tabindex=0 style=background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-markdown data-lang=markdown><span style=display:flex><span>+1 (non-binding)
</span></span><span style=display:flex><span>I checked:
</span></span><span style=display:flex><span><span style=color:#204a87;font-weight:700>1.</span> Download link/tag in mail are valid
</span></span><span style=display:flex><span><span style=color:#204a87;font-weight:700>2.</span> Checksum and GPG signatures are OK
</span></span><span style=display:flex><span><span style=color:#204a87;font-weight:700>3.</span> LICENSE <span style=color:#a40000>&amp;</span> NOTICE <span style=color:#a40000>&amp;</span> DISCLAIMER are exist
</span></span><span style=display:flex><span><span style=color:#204a87;font-weight:700>4.</span> Build successfully on XX OS <span style=color:#a40000>&amp;</span> Version XX
</span></span><span style=display:flex><span><span style=color:#204a87;font-weight:700>5.</span> No unexpected binary files
</span></span><span style=display:flex><span><span style=color:#204a87;font-weight:700>6.</span> Date is right in the NOTICE file
</span></span><span style=display:flex><span><span style=color:#204a87;font-weight:700>7.</span> Compile from source is fine under JavaXX
</span></span><span style=display:flex><span><span style=color:#204a87;font-weight:700>8.</span> No empty file <span style=color:#a40000>&amp;</span> directory found
</span></span><span style=display:flex><span><span style=color:#204a87;font-weight:700>9.</span> Test running XXX service OK
</span></span><span style=display:flex><span><span style=color:#204a87;font-weight:700>10.</span> ....
</span></span></code></pre></div><p>and the PMC members should reply with <code>binding</code>, it&rsquo;s important for summary the valid votes:</p><div class=highlight><pre tabindex=0 style=background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-markdown data-lang=markdown><span style=display:flex><span>+1 (binding)
</span></span><span style=display:flex><span>I checked:
</span></span><span style=display:flex><span><span style=color:#204a87;font-weight:700>1.</span> Download link/tag in mail are valid
</span></span><span style=display:flex><span><span style=color:#204a87;font-weight:700>2.</span> Checksum and GPG signatures are OK
</span></span><span style=display:flex><span><span style=color:#204a87;font-weight:700>3.</span> LICENSE <span style=color:#a40000>&amp;</span> NOTICE <span style=color:#a40000>&amp;</span> DISCLAIMER are exist
</span></span><span style=display:flex><span><span style=color:#204a87;font-weight:700>4.</span> Build successfully on XX OS <span style=color:#a40000>&amp;</span> Version XX
</span></span><span style=display:flex><span><span style=color:#204a87;font-weight:700>5.</span> No unexpected binary files
</span></span><span style=display:flex><span><span style=color:#204a87;font-weight:700>6.</span> Date is right in the NOTICE file
</span></span><span style=display:flex><span><span style=color:#204a87;font-weight:700>7.</span> Compile from source is fine under JavaXX
</span></span><span style=display:flex><span><span style=color:#204a87;font-weight:700>8.</span> No empty file <span style=color:#a40000>&amp;</span> directory found
</span></span><span style=display:flex><span><span style=color:#204a87;font-weight:700>9.</span> Test running XX process OK
</span></span><span style=display:flex><span><span style=color:#204a87;font-weight:700>10.</span> ....
</span></span></code></pre></div><style>.feedback--answer{display:inline-block}.feedback--answer-no{margin-left:1em}.feedback--response{display:none;margin-top:1em}.feedback--response__visible{display:block}</style><script>const yesButton=document.querySelector(".feedback--answer-yes"),noButton=document.querySelector(".feedback--answer-no"),yesResponse=document.querySelector(".feedback--response-yes"),noResponse=document.querySelector(".feedback--response-no"),disableButtons=()=>{yesButton.disabled=!0,noButton.disabled=!0},sendFeedback=e=>{if(typeof ga!="function")return;const t={command:"send",hitType:"event",category:"Helpful",action:"click",label:window.location.pathname,value:e};ga(t.command,t.hitType,t.category,t.action,t.label,t.value)};yesButton.addEventListener("click",()=>{yesResponse.classList.add("feedback--response__visible"),disableButtons(),sendFeedback(1)}),noButton.addEventListener("click",()=>{noResponse.classList.add("feedback--response__visible"),disableButtons(),sendFeedback(0)})</script><br><div class="text-muted mt-5 pt-3 border-top">Last modified March 27, 2024: <a href=https://github.com/apache/incubator-hugegraph-doc/commit/ed364827fb915d3ea999e6ab0a53f6104b7b98a1>chore: update validate-release guide (#337) (ed364827)</a></div></div></main></div></div><footer class="bg-dark py-3 row d-print-none"><div class=footer-container><div class="row bg-dark"><div class=col-1></div><div class="col-4 text-center container-center"><div class=footer-row><a href=https://www.apache.org><div class=footer-apache-logo><svg id="Layer_2" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 7127.6 2890" enable-background="new 0 0 7127.6 2890"><path fill="#6d6e71" d="M7104.7 847.8c15.3 15.3 22.9 33.7 22.9 55.2s-7.6 39.9-22.9 55.4c-15.3 15.4-33.8 23.1-55.6 23.1s-40.2-7.6-55.4-22.9c-15.1-15.3-22.7-33.7-22.7-55.2s7.6-39.9 22.9-55.4c15.3-15.4 33.7-23.1 55.4-23.1C7070.9 824.9 7089.4 832.5 7104.7 847.8zM7098.1 951.9c13.3-13.6 20-29.8 20-48.7s-6.6-35-19.8-48.5c-13.2-13.4-29.4-20.1-48.6-20.1-19.2.0-35.4 6.7-48.7 20.2s-19.9 29.7-19.9 48.7 6.6 35.2 19.7 48.6c13.1 13.4 29.3 20.1 48.5 20.1S7084.7 965.4 7098.1 951.9zm-11-63.8c0 14-6.1 22.8-18.4 26.4l22.5 30.5H7073l-20.3-28.3h-18.6V945h-14.7v-84.6h31.8c12.8.0 22 2.2 27.6 6.6C7084.4 871.4 7087.1 878.4 7087.1 888.1zM7068.2 9e2c3-2.4 4.4-6.5 4.4-12s-1.5-9.4-4.5-11.6-8.4-3.2-16-3.2h-18v30.5h17.5C7059.7 903.6 7065.3 902.4 7068.2 9e2z"/><path fill="#6d6e71" d="M1803.6 499.8v155.4h-20V499.8h-56.8v-19.2h133.9v19.2H1803.6z"/><path fill="#6d6e71" d="M2082.2 655.2v-76.9H1977v76.9h-20V480.5h20v78.9h105.2v-78.9h20v174.7h-20z"/><path fill="#6d6e71" d="M2241.4 499.8v57.4h88.1v19.2h-88.1v59.8h101.8v19h-121.8V480.5H2340v19.2H2241.4z"/><path fill="#d22128" d="M1574.5 1852.4l417.3-997.6h80.1l417.3 997.6h-105.4l-129.3-311.9h-448.2l-127.9 311.9H1574.5zM2032.6 970l-205.1 493.2h404.7L2032.6 970z"/><path fill="#d22128" d="M2596.9 1852.4V854.8H3010c171.4.0 295.1 158.8 295.1 313.3.0 163-115.2 316.1-286.6 316.1h-324.6v368.1h-97zm97-455.3h318.9c118 0 193.9-108.2 193.9-229 0-125.1-92.7-226.2-202.3-226.2h-310.5v455.2z"/><path fill="#d22128" d="M3250.5 1852.4l417.3-997.6h80.1l417.3 997.6h-105.4l-129.3-311.9h-448.2l-127.9 311.9H3250.5zM3708.6 970l-205.1 493.2h404.7L3708.6 970z"/><path fill="#d22128" d="M4637.3 849.1c177 0 306.3 89.9 368.1 217.8l-78.7 47.8c-63.2-132.1-186.9-177-295.1-177-238.9.0-369.5 213.6-369.5 414.5.0 220.6 161.6 420.1 373.7 420.1 112.4.0 244.5-56.2 307.7-185.5l81.5 42.1c-64.6 148.9-241.7 231.8-394.8 231.8-274 0-466.5-261.3-466.5-514.2C4163.8 1106.3 4336.6 849.1 4637.3 849.1z"/><path fill="#d22128" d="M5949.1 854.8v997.6h-98.4v-466.5h-591.5v466.5h-96.9V854.8h96.9v444h591.5v-444H5949.1z"/><path fill="#d22128" d="M6844.6 1765.2v87.1h-670.2V854.8H6832v87.1h-560.6v359.7h489v82.9h-489v380.8H6844.6z"/><path fill="#6d6e71" d="M1667.6 2063.6c11.8 3.5 22.2 8.3 31 14.2l-10.3 22.6c-9-6-18.6-10.4-28.9-13.4-10.2-2.9-20-4.4-29.2-4.4-13.6.0-24.5 2.4-32.6 7.3s-12.2 11.8-12.2 20.7c0 7.6 2.3 14 6.8 19s10.2 8.9 17 11.7c6.8 2.8 16.1 6 28 9.6 14.4 4.6 26 8.9 34.7 12.9 8.8 4 16.3 9.9 22.5 17.8 6.2 7.8 9.3 18.2 9.3 31 0 11.7-3.2 21.8-9.5 30.6-6.3 8.7-15.3 15.5-26.8 20.3-11.6 4.8-24.9 7.2-40 7.2s-29.7-2.9-43.9-8.7c-14.2-5.8-26.4-13.6-36.6-23.4l10.7-21.6c9.6 9.4 20.7 16.7 33.3 21.9 12.6 5.2 24.8 7.8 36.8 7.8 15.3.0 27.3-3 36.1-8.9s13.2-13.9 13.2-23.9c0-7.8-2.3-14.3-6.9-19.4-4.6-5.1-10.3-9-17.1-11.9-6.8-2.8-16.1-6-28-9.6-14.2-4.2-25.7-8.3-34.6-12.2-8.9-3.9-16.4-9.7-22.5-17.5-6.1-7.7-9.2-17.9-9.2-30.6.0-10.9 3-20.4 9-28.6s14.6-14.6 25.6-19.1c11.1-4.5 23.8-6.8 38.2-6.8C1643.8 2058.3 1655.7 2060.1 1667.6 2063.6z"/><path fill="#6d6e71" d="M1980.1 2072.8c16.8 9.4 30.2 22.3 40 38.4 9.8 16.2 14.8 33.9 14.8 53.3.0 19.5-4.9 37.4-14.8 53.6-9.8 16.3-23.2 29.1-40 38.6s-35.3 14.3-55.2 14.3c-20.3.0-38.8-4.7-55.7-14.3-16.8-9.5-30.2-22.4-40-38.6-9.8-16.3-14.8-34.1-14.8-53.6s4.9-37.3 14.8-53.5c9.8-16.2 23.2-29 40-38.3 16.8-9.4 35.4-14 55.7-14C1944.8 2058.6 1963.2 2063.3 1980.1 2072.8zM1881.9 2092.7c-13.1 7.4-23.6 17.5-31.4 30.1-7.8 12.6-11.8 26.5-11.8 41.7.0 15.3 3.9 29.3 11.8 42 7.8 12.7 18.3 22.8 31.4 30.2 13.1 7.4 27.4 11.1 42.9 11.1s29.7-3.7 42.7-11.1 23.3-17.4 31.1-30.2c7.7-12.7 11.6-26.7 11.6-42s-3.9-29.2-11.6-41.8c-7.7-12.6-18.1-22.6-31.1-30s-27.2-11.2-42.6-11.2C1909.4 2081.5 1895.1 2085.2 1881.9 2092.7z"/><path fill="#6d6e71" d="M2186.5 2082.4v74h98.4v23.2h-98.4v90.2h-24.1v-210.6h133.8v23.2H2186.5z"/><path fill="#6d6e71" d="M2491.6 2082.4v187.4h-24.1v-187.4h-68.4v-23.2h161.4v23.2H2491.6z"/><path fill="#6d6e71" d="M2871.8 2269.8l-56.8-177.4-57.6 177.4h-24.5l-70.5-210.6h25.9l57.9 182.7 57.1-182.4 24.1-.3 57.7 182.7 57.1-182.7h25l-70.6 210.6H2871.8z"/><path fill="#6d6e71" d="M3087.3 2216.6l-23.5 53.2h-25.6l94.4-210.6h25l94.1 210.6h-26.1l-23.5-53.2H3087.3zM3144.5 2086.6l-46.9 106.8h94.4l-47.5-106.8z"/><path fill="#6d6e71" d="M3461.1 2202.7c-6 .4-10.7.6-14.1.6h-56v66.5h-24v-210.6h80c26.2.0 46.6 6.2 61.2 18.5 14.5 12.3 21.8 29.8 21.8 52.3.0 17.2-4.1 31.7-12.2 43.3-8.1 11.6-19.8 20-35 25l49.2 71.5h-27.3L3461.1 2202.7zM3491.3 2167.6c10.3-8.4 15.5-20.8 15.5-37 0-15.9-5.2-27.9-15.5-36s-25.1-12.2-44.3-12.2h-56v97.8h56C3466.2 2180.2 3481 2176 3491.3 2167.6z"/><path fill="#6d6e71" d="M3688.3 2082.4v69.2h106.2v23.2h-106.2v72.1h122.8v22.9h-146.9v-210.6h142.9v23.2H3688.3z"/><path fill="#6d6e71" d="M4147 2082.4v74h98.4v23.2H4147v90.2h-24.1v-210.6h133.8v23.2H4147z"/><path fill="#6d6e71" d="M4523.3 2072.8c16.8 9.4 30.2 22.3 40 38.4 9.8 16.2 14.8 33.9 14.8 53.3.0 19.5-4.9 37.4-14.8 53.6-9.8 16.3-23.2 29.1-40 38.6s-35.3 14.3-55.2 14.3c-20.3.0-38.8-4.7-55.7-14.3-16.8-9.5-30.2-22.4-40-38.6-9.8-16.3-14.8-34.1-14.8-53.6s4.9-37.3 14.8-53.5c9.8-16.2 23.2-29 40-38.3 16.8-9.4 35.4-14 55.7-14C4488.1 2058.6 4506.5 2063.3 4523.3 2072.8zM4425.2 2092.7c-13.1 7.4-23.6 17.5-31.4 30.1-7.8 12.6-11.8 26.5-11.8 41.7.0 15.3 3.9 29.3 11.8 42 7.8 12.7 18.3 22.8 31.4 30.2 13.1 7.4 27.4 11.1 42.9 11.1s29.7-3.7 42.7-11.1 23.3-17.4 31.1-30.2c7.7-12.7 11.6-26.7 11.6-42s-3.9-29.2-11.6-41.8c-7.7-12.6-18.1-22.6-31.1-30s-27.2-11.2-42.6-11.2C4452.6 2081.5 4438.3 2085.2 4425.2 2092.7z"/><path fill="#6d6e71" d="M4854.7 2247.7c-15.7 15.5-37.3 23.3-64.8 23.3-27.7.0-49.4-7.8-65.1-23.3-15.7-15.5-23.6-37-23.6-64.6v-124h24.1v124c0 20.3 5.8 36.1 17.3 47.5 11.6 11.4 27.3 17.1 47.3 17.1 20.1.0 35.8-5.7 47.1-17 11.4-11.3 17-27.2 17-47.7v-124h24.1v124C4878.2 2210.7 4870.4 2232.2 4854.7 2247.7z"/><path fill="#6d6e71" d="M5169.5 2269.8l-126.3-169.1v169.1h-24.1v-210.6h25l126.3 169.3v-169.3h23.8v210.6H5169.5z"/><path fill="#6d6e71" d="M5478.4 2073.1c16.4 9.3 29.4 21.9 38.9 37.9 9.6 16 14.3 33.9 14.3 53.5s-4.8 37.6-14.3 53.6c-9.5 16.1-22.6 28.7-39.3 37.9-16.6 9.2-35.2 13.8-55.5 13.8h-84.3v-210.6h85.2C5443.7 2059.2 5462 2063.8 5478.4 2073.1zM5362.3 2246.9h61.4c15.5.0 29.6-3.5 42.3-10.6s22.8-16.9 30.2-29.5c7.4-12.5 11.1-26.5 11.1-42s-3.8-29.4-11.3-41.9-17.7-22.3-30.6-29.6c-12.8-7.2-27-10.9-42.6-10.9h-60.5v164.5z"/><path fill="#6d6e71" d="M5668.6 2216.6l-23.5 53.2h-25.6l94.4-210.6h25l94.1 210.6h-26l-23.5-53.2H5668.6zM5725.8 2086.6l-46.9 106.8h94.4l-47.5-106.8z"/><path fill="#6d6e71" d="M5991 2082.4v187.4h-24v-187.4h-68.4v-23.2H6060v23.2h-69z"/><path fill="#6d6e71" d="M6175.9 2269.8v-210.6h24.1v210.6H6175.9z"/><path fill="#6d6e71" d="M6493.7 2072.8c16.8 9.4 30.2 22.3 40 38.4 9.8 16.2 14.8 33.9 14.8 53.3.0 19.5-4.9 37.4-14.8 53.6-9.8 16.3-23.2 29.1-40 38.6s-35.3 14.3-55.2 14.3c-20.3.0-38.8-4.7-55.7-14.3-16.8-9.5-30.2-22.4-40-38.6-9.8-16.3-14.8-34.1-14.8-53.6s4.9-37.3 14.8-53.5c9.8-16.2 23.2-29 40-38.3 16.8-9.4 35.4-14 55.7-14C6458.5 2058.6 6476.9 2063.3 6493.7 2072.8zM6395.6 2092.7c-13.1 7.4-23.6 17.5-31.4 30.1-7.8 12.6-11.8 26.5-11.8 41.7.0 15.3 3.9 29.3 11.8 42 7.8 12.7 18.3 22.8 31.4 30.2 13.1 7.4 27.4 11.1 42.9 11.1s29.7-3.7 42.7-11.1 23.3-17.4 31.1-30.2c7.7-12.7 11.6-26.7 11.6-42s-3.9-29.2-11.6-41.8c-7.7-12.6-18.1-22.6-31.1-30s-27.2-11.2-42.6-11.2C6423 2081.5 6408.8 2085.2 6395.6 2092.7z"/><path fill="#6d6e71" d="M6826.5 2269.8l-126.3-169.1v169.1h-24.1v-210.6h25l126.3 169.3v-169.3h23.8v210.6H6826.5z"/><linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="-4516.6152" y1="-2338.7222" x2="-4108.4111" y2="-1861.3982" gradientTransform="matrix(0.4226 -0.9063 0.9063 0.4226 5117.8774 -2859.9343)"><stop offset="0" style="stop-color:#F69923"/><stop offset=".3123" style="stop-color:#F79A23"/><stop offset=".8383" style="stop-color:#E97826"/></linearGradient><path fill="url(#SVGID_1_)" d="M1230.1 13.7c-45.3 26.8-120.6 102.5-210.5 212.3l82.6 155.9c58-82.9 116.9-157.5 176.3-221.2 4.6-5.1 7-7.5 7-7.5-2.3 2.5-4.6 5-7 7.5-19.2 21.2-77.5 89.2-165.5 224.4 84.7-4.2 214.9-21.6 321.1-39.7 31.6-177-31-258-31-258S1323.4-41.4 1230.1 13.7z"/><path fill="none" d="M1090.2 903.1c.6-.1 1.2-.2 1.8-.3l-11.9 1.3c-.7.3-1.4.7-2.1 1C1082.1 904.4 1086.2 903.7 1090.2 903.1z"/><path fill="none" d="M1005.9 1182.3c-6.7 1.5-13.7 2.7-20.7 3.7C992.3 1185 999.2 1183.8 1005.9 1182.3z"/><path fill="none" d="M432.9 1808.8c.9-2.3 1.8-4.7 2.6-7 18.2-48 36.2-94.7 54-140.1 20-51 39.8-100.4 59.3-148.3 20.6-50.4 40.9-99.2 60.9-146.3 21-49.4 41.7-97 62-142.8 16.5-37.3 32.8-73.4 48.9-108.3 5.4-11.7 10.7-23.2 16-34.6 10.5-22.7 21-44.8 31.3-66.5 9.5-20 19-39.6 28.3-58.8 3.1-6.4 6.2-12.8 9.3-19.1.5-1 1-2 1.5-3.1l-10.2 1.1-8-15.9c-.8 1.6-1.6 3.1-2.4 4.6-14.5 28.8-28.9 57.9-43.1 87.2-8.2 16.9-16.4 34-24.6 51-22.6 47.4-44.8 95.2-66.6 143.3-22.1 48.6-43.7 97.5-64.9 146.5-20.8 48.1-41.3 96.2-61.2 144.2-20 48-39.5 95.7-58.5 143.2-19.9 49.5-39.2 98.7-58 147.2-4.2 10.9-8.5 21.9-12.7 32.8-15 39.2-29.7 77.8-44 116l12.7 25.1 11.4-1.2c.4-1.1.8-2.3 1.3-3.4C396.7 1905.4 414.9 1856.4 432.9 1808.8z"/><path fill="none" d="M980 1186.8c.1.0.1.0.1-.1C980.1 1186.8 980.1 1186.8 980 1186.8z"/><path fill="#be202e" d="M952.6 1323c-10.6 1.9-21.4 3.8-32.5 5.7-.1.0-.1.1-.2.1 5.6-.8 11.2-1.7 16.6-2.6C942 1325.2 947.3 1324.1 952.6 1323z"/><path opacity=".35" fill="#be202e" d="M952.6 1323c-10.6 1.9-21.4 3.8-32.5 5.7-.1.0-.1.1-.2.1 5.6-.8 11.2-1.7 16.6-2.6C942 1325.2 947.3 1324.1 952.6 1323z"/><path fill="#be202e" d="M980.3 1186.7C980.2 1186.7 980.2 1186.7 980.3 1186.7c-.1.1-.2.1-.2.1 1.8-.2 3.5-.5 5.2-.8 7-1 13.9-2.2 20.7-3.7C997.5 1183.8 989 1185.2 980.3 1186.7z"/><path opacity=".35" fill="#be202e" d="M980.3 1186.7C980.2 1186.7 980.2 1186.7 980.3 1186.7c-.1.1-.2.1-.2.1 1.8-.2 3.5-.5 5.2-.8 7-1 13.9-2.2 20.7-3.7C997.5 1183.8 989 1185.2 980.3 1186.7z"/><linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="-7537.7339" y1="-2391.4075" x2="-4625.4141" y2="-2391.4075" gradientTransform="matrix(0.4226 -0.9063 0.9063 0.4226 5117.8774 -2859.9343)"><stop offset=".3233" style="stop-color:#9E2064"/><stop offset=".6302" style="stop-color:#C92037"/><stop offset=".7514" style="stop-color:#CD2335"/><stop offset="1" style="stop-color:#E97826"/></linearGradient><path fill="url(#SVGID_2_)" d="M858.6 784.7c25.1-46.9 50.5-92.8 76.2-137.4 26.7-46.4 53.7-91.3 80.9-134.7 1.6-2.6 3.2-5.2 4.8-7.7 27-42.7 54.2-83.7 81.6-122.9L1019.5 226c-6.2 7.6-12.5 15.3-18.8 23.2-23.8 29.7-48.6 61.6-73.9 95.5-28.6 38.2-58 78.9-87.8 121.7-27.6 39.5-55.5 80.9-83.5 123.7-23.8 36.5-47.7 74-71.4 112.5-.9 1.4-1.8 2.9-2.6 4.3L789 919.2c22.8-45.6 46.1-90.5 69.6-134.5z"/><linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="-7186.1777" y1="-2099.3059" x2="-5450.7183" y2="-2099.3059" gradientTransform="matrix(0.4226 -0.9063 0.9063 0.4226 5117.8774 -2859.9343)"><stop offset="0" style="stop-color:#282662"/><stop offset=".0954839" style="stop-color:#662E8D"/><stop offset=".7882" style="stop-color:#9F2064"/><stop offset=".9487" style="stop-color:#CD2032"/></linearGradient><path fill="url(#SVGID_3_)" d="M369 1981c-14.2 39.1-28.5 78.9-42.9 119.6-.2.6-.4 1.2-.6 1.8-2 5.7-4.1 11.5-6.1 17.2-9.7 27.4-18 52.1-37.3 108.2 31.7 14.5 57.1 52.5 81.1 95.6-2.6-44.7-21-86.6-56.2-119.1 156.1 7 290.6-32.4 360.1-146.6 6.2-10.2 11.9-20.9 17-32.2-31.6 40.1-70.8 57.1-144.5 53-.2.1-.3.1-.5.2.2-.1.3-.1.5-.2 108.6-48.6 163.1-95.3 211.2-172.6 11.4-18.3 22.5-38.4 33.8-60.6-94.9 97.5-205 125.3-320.9 104.2l-86.9 9.5C374.4 1966.3 371.7 1973.6 369 1981z"/><linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="-7374.1626" y1="-2418.5454" x2="-4461.8428" y2="-2418.5454" gradientTransform="matrix(0.4226 -0.9063 0.9063 0.4226 5117.8774 -2859.9343)"><stop offset=".3233" style="stop-color:#9E2064"/><stop offset=".6302" style="stop-color:#C92037"/><stop offset=".7514" style="stop-color:#CD2335"/><stop offset="1" style="stop-color:#E97826"/></linearGradient><path fill="url(#SVGID_4_)" d="M409.6 1786.3c18.8-48.5 38.1-97.7 58-147.2 19-47.4 38.5-95.2 58.5-143.2s40.4-96.1 61.2-144.2c21.2-49 42.9-97.8 64.9-146.5 21.8-48.1 44-95.9 66.6-143.3 8.1-17.1 16.3-34.1 24.6-51 14.2-29.3 28.6-58.4 43.1-87.2.8-1.6 1.6-3.1 2.4-4.6L681.4 706.8c-1.8 2.9-3.5 5.8-5.3 8.6-25.1 40.9-50 82.7-74.4 125.4-24.7 43.1-49 87.1-72.7 131.7-20 37.6-39.6 75.6-58.6 113.9-3.8 7.8-7.6 15.5-11.3 23.2-23.4 48.2-44.6 94.8-63.7 139.5-21.7 50.7-40.7 99.2-57.5 145.1-11 30.2-21 59.4-30.1 87.4-7.5 24-14.7 47.9-21.5 71.8-16 56.3-29.9 112.4-41.2 168.3L353 1935.1c14.3-38.1 28.9-76.8 44-116C401.1 1808.2 405.4 1797.3 409.6 1786.3z"/><linearGradient id="SVGID_5_" gradientUnits="userSpaceOnUse" x1="-7161.7642" y1="-2379.1431" x2="-5631.2524" y2="-2379.1431" gradientTransform="matrix(0.4226 -0.9063 0.9063 0.4226 5117.8774 -2859.9343)"><stop offset="0" style="stop-color:#282662"/><stop offset=".0954839" style="stop-color:#662E8D"/><stop offset=".7882" style="stop-color:#9F2064"/><stop offset=".9487" style="stop-color:#CD2032"/></linearGradient><path fill="url(#SVGID_5_)" d="M243.5 1729.4c-13.6 68.2-23.2 136.2-28 203.8-.2 2.4-.4 4.7-.5 7.1-33.7-54-124-106.8-123.8-106.2 64.6 93.7 113.7 186.7 120.9 278-34.6 7.1-82-3.2-136.8-23.3 57.1 52.5 1e2 67 116.7 70.9-52.5 3.3-107.1 39.3-162.1 80.8 80.5-32.8 145.5-45.8 192.1-35.3C148.1 2414.2 74.1 2645 0 2890c22.7-6.7 36.2-21.9 43.9-42.6 13.2-44.4 100.8-335.6 238-718.2 3.9-10.9 7.8-21.8 11.8-32.9 1.1-3 2.2-6.1 3.3-9.2 14.5-40.1 29.5-81.1 45.1-122.9 3.5-9.5 7.1-19 10.7-28.6.1-.2.1-.4.2-.6l-107.9-213.2C244.6 1724.4 244 1726.9 243.5 1729.4z"/><linearGradient id="SVGID_6_" gradientUnits="userSpaceOnUse" x1="-7374.1626" y1="-2117.1309" x2="-4461.8428" y2="-2117.1309" gradientTransform="matrix(0.4226 -0.9063 0.9063 0.4226 5117.8774 -2859.9343)"><stop offset=".3233" style="stop-color:#9E2064"/><stop offset=".6302" style="stop-color:#C92037"/><stop offset=".7514" style="stop-color:#CD2335"/><stop offset="1" style="stop-color:#E97826"/></linearGradient><path fill="url(#SVGID_6_)" d="M805.6 937c-3.1 6.3-6.2 12.7-9.3 19.1-9.3 19.2-18.8 38.8-28.3 58.8-10.3 21.7-20.7 43.9-31.3 66.5-5.3 11.4-10.6 22.9-16 34.6-16.1 35-32.4 71.1-48.9 108.3-20.3 45.8-41 93.4-62 142.8-20 47.1-40.3 95.9-60.9 146.3-19.5 47.9-39.3 97.3-59.3 148.3-17.8 45.4-35.9 92.1-54 140.1-.9 2.3-1.8 4.7-2.6 7-18 47.6-36.2 96.6-54.6 146.8-.4 1.1-.8 2.3-1.3 3.4l86.9-9.5c-1.7-.3-3.5-.5-5.2-.9 103.9-13 242.1-90.6 331.4-186.5 41.1-44.2 78.5-96.3 113-157.3 25.7-45.4 49.8-95.8 72.8-151.5 20.1-48.7 39.4-101.4 58-158.6-23.9 12.6-51.2 21.8-81.4 28.2-5.3 1.1-10.7 2.2-16.1 3.1-5.5 1-11 1.8-16.6 2.6.1.0.1-.1.2-.1 96.9-37.3 158-109.2 202.4-197.4-25.5 17.4-66.9 40.1-116.6 51.1-6.7 1.5-13.7 2.7-20.7 3.7-1.7.3-3.5.6-5.2.8.1.0.1.0.1-.1h.1c33.6-14.1 62-29.8 86.6-48.4 5.3-4 10.4-8.1 15.3-12.3 7.5-6.5 14.7-13.3 21.5-20.5 4.4-4.6 8.6-9.3 12.7-14.2 9.6-11.5 18.7-23.9 27.1-37.3 2.6-4.1 5.1-8.3 7.6-12.6 3.2-6.2 6.3-12.3 9.3-18.3 13.5-27.2 24.4-51.5 33-72.8 4.3-10.6 8.1-20.5 11.3-29.7 1.3-3.7 2.5-7.2 3.7-10.6 3.4-10.2 6.2-19.3 8.4-27.3 3.3-12 5.3-21.5 6.4-28.4-3.3 2.6-7.1 5.2-11.3 7.7-29.3 17.5-79.5 33.4-119.9 40.8l79.8-8.8-79.8 8.8c-.6.1-1.2.2-1.8.3-4 .7-8.1 1.3-12.2 2 .7-.3 1.4-.7 2.1-1l-273 29.9C806.6 935 806.1 936 805.6 937z"/><linearGradient id="SVGID_7_" gradientUnits="userSpaceOnUse" x1="-7554.8232" y1="-2132.0981" x2="-4642.5034" y2="-2132.0981" gradientTransform="matrix(0.4226 -0.9063 0.9063 0.4226 5117.8774 -2859.9343)"><stop offset=".3233" style="stop-color:#9E2064"/><stop offset=".6302" style="stop-color:#C92037"/><stop offset=".7514" style="stop-color:#CD2335"/><stop offset="1" style="stop-color:#E97826"/></linearGradient><path fill="url(#SVGID_7_)" d="M1112.9 385.1c-24.3 37.3-50.8 79.6-79.4 127.5-1.5 2.5-3 5.1-4.5 7.6-24.6 41.5-50.8 87.1-78.3 137-23.8 43.1-48.5 89.3-74.3 139C854 839.5 830.8 885.4 807 934l273-29.9c79.5-36.6 115.1-69.7 149.6-117.6 9.2-13.2 18.4-27 27.5-41.3 28-43.8 55.6-92 80.1-139.9 23.7-46.3 44.7-92.2 60.7-133.5 10.2-26.3 18.4-50.8 24.1-72.3 5-19 8.9-36.9 11.9-54.1C1327.9 363.5 1197.6 380.9 1112.9 385.1z"/><path fill="#be202e" d="M936.5 1326.1c-5.5 1-11 1.8-16.6 2.6C925.5 1328 931 1327.1 936.5 1326.1z"/><path opacity=".35" fill="#be202e" d="M936.5 1326.1c-5.5 1-11 1.8-16.6 2.6C925.5 1328 931 1327.1 936.5 1326.1z"/><linearGradient id="SVGID_8_" gradientUnits="userSpaceOnUse" x1="-7374.1626" y1="-2027.484" x2="-4461.8433" y2="-2027.484" gradientTransform="matrix(0.4226 -0.9063 0.9063 0.4226 5117.8774 -2859.9343)"><stop offset=".3233" style="stop-color:#9E2064"/><stop offset=".6302" style="stop-color:#C92037"/><stop offset=".7514" style="stop-color:#CD2335"/><stop offset="1" style="stop-color:#E97826"/></linearGradient><path fill="url(#SVGID_8_)" d="M936.5 1326.1c-5.5 1-11 1.8-16.6 2.6C925.5 1328 931 1327.1 936.5 1326.1z"/><path fill="#be202e" d="M980 1186.8c1.8-.2 3.5-.5 5.2-.8C983.5 1186.3 981.8 1186.6 980 1186.8z"/><path opacity=".35" fill="#be202e" d="M980 1186.8c1.8-.2 3.5-.5 5.2-.8C983.5 1186.3 981.8 1186.6 980 1186.8z"/><linearGradient id="SVGID_9_" gradientUnits="userSpaceOnUse" x1="-7374.1626" y1="-2037.7417" x2="-4461.8433" y2="-2037.7417" gradientTransform="matrix(0.4226 -0.9063 0.9063 0.4226 5117.8774 -2859.9343)"><stop offset=".3233" style="stop-color:#9E2064"/><stop offset=".6302" style="stop-color:#C92037"/><stop offset=".7514" style="stop-color:#CD2335"/><stop offset="1" style="stop-color:#E97826"/></linearGradient><path fill="url(#SVGID_9_)" d="M980 1186.8c1.8-.2 3.5-.5 5.2-.8C983.5 1186.3 981.8 1186.6 980 1186.8z"/><path fill="#be202e" d="M980.2 1186.7z"/><path opacity=".35" fill="#be202e" d="M980.2 1186.7z"/><linearGradient id="SVGID_10_" gradientUnits="userSpaceOnUse" x1="-5738.0635" y1="-2039.799" x2="-5094.3457" y2="-2039.799" gradientTransform="matrix(0.4226 -0.9063 0.9063 0.4226 5117.8774 -2859.9343)"><stop offset=".3233" style="stop-color:#9E2064"/><stop offset=".6302" style="stop-color:#C92037"/><stop offset=".7514" style="stop-color:#CD2335"/><stop offset="1" style="stop-color:#E97826"/></linearGradient><path fill="url(#SVGID_10_)" d="M980.2 1186.7z"/></svg></div></a><ul class=footer-link><li><a class=white href=http://www.apache.org>Foundation</a></li><li><a class=white href=http://www.apache.org/licenses/>License</a></li><li><a class=white href=https://www.apache.org/security/>Security</a></li><li><a class=white href=http://www.apache.org/events/current-event>Events</a></li><li><a class=white href=http://www.apache.org/foundation/sponsorship.html>Sponsorship</a></li><li><a class=white href=http://www.apache.org/foundation/thanks.html>Thanks</a></li><li><a class=white href=https://privacy.apache.org/policies/privacy-policy-public.html target=_blank>Privacy</a></li></ul></div></div><div class="col-6 text-white text-center container-center"><p>Copyright &copy; 2024 The Apache Software Foundation, Licensed under the <a class=white href=https://www.apache.org/licenses/LICENSE-2.0>Apache License Version 2.0</a></p><p>Apache and the Apache feather logo are trademarks of The Apache Software Foundation.</p></div><div class=col-1></div></div></div></footer></div><script src=https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js integrity=sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN crossorigin=anonymous></script>
<script src=https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/js/bootstrap.min.js integrity="sha512-UR25UO94eTnCVwjbXozyeVd6ZqpaAE9naiEUBK/A+QDbfSTQFhPGj5lOR6d8tsgbBk84Ggb5A3EkjsOgPRPcKA==" crossorigin=anonymous></script>
<script src=/js/tabpane-persist.js></script>
<script src=/js/main.min.aa9f4c5dae6a98b2c46277f4c56f1673a2b000d1756ce4ffae93784cab25e6d5.js integrity="sha256-qp9MXa5qmLLEYnf0xW8Wc6KwANF1bOT/rpN4TKsl5tU=" crossorigin=anonymous></script>
<script src=/js/prism.js></script></body></html>