blob: 399851dfa0e991c9b0e4ac646a467902663c505f [file] [log] [blame]
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<title>Apache Traffic Control Releases</title>
<!-- Boostrap -->
<link rel="stylesheet"
href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.0/css/bootstrap.min.css"
integrity="sha384-9gVQ4dYFwwWSjIDZnLEWnxCjeSWFphJiwGPXr1jddIhOegiu1FwO5qRGvFXOdJZ4"
crossorigin="anonymous">
<script defer src="https://use.fontawesome.com/releases/v5.0.10/js/all.js"
integrity="sha384-slN8GvtUJGnv6ca26v8EzVaR9DC58QEwsIk9q1QXdCU8Yu8ck/tL/5szYlBbqmS+"
crossorigin="anonymous"></script>
<link rel="icon" type="image/png" href="/resources/tc_logo_c_only.png">
</head>
<body>
<nav class="navbar navbar-expand-lg navbar-dark bg-dark">
<a class="navbar-brand" href="/">
<img id="fluo-img" height="40px" src="/resources/tc_logo_c_only.png" alt="Apache Traffic Control">
</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent"
aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<ul class="navbar-nav mr-auto">
<li class="nav-item">
<a class="nav-link" href="/">Home</a>
</li>
<li class="nav-item active">
<a class="nav-link" href="#">Releases<span class="sr-only">(current)</span></a>
</li>
<li class="nav-item">
<a class="nav-link" href="https://traffic-control-cdn.readthedocs.io/en/latest/index.html">Docs</a>
</li>
<li class="nav-item">
<a class="nav-link" href="https://traffic-control-cdn.readthedocs.io/en/latest/api/index.html">API</a>
</li>
<li class="nav-item">
<a class="nav-link" href="https://github.com/apache/trafficcontrol/issues">Issues</a>
</li>
<li class="nav-item">
<a class="nav-link" href="https://github.com/apache/trafficcontrol">Repo</a>
</li>
<li class="nav-item">
<a class="nav-link" href="/security/">Security</a>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown"
aria-haspopup="true" aria-expanded="false">
Community
</a>
<div class="dropdown-menu" aria-labelledby="navbarDropdown">
<a class="dropdown-item" href="https://s.apache.org/tc-slack-request" target="_blank"><code>#traffic-control</code> on the ASF Slack</a>
<a class="dropdown-item" href="/contributing">Contributing</a>
<a class="dropdown-item" href="/mailing_lists/">Mailing Lists</a>
<a class="dropdown-item" href="https://github.com/apache/trafficcontrol/wiki/">Wiki</a>
<a class="dropdown-item" href="https://www.youtube.com/channel/UC2zEj6sERinzx8w8uvyRBYg">YouTube</a>
<a class="dropdown-item" href="https://twitter.com/trafficctrlcdn">Twitter</a>
</div>
</li>
<li class="nav-item">
<a href="/events/" class="nav-link">Events</a>
</li>
</ul>
<ul class="navbar-nav navbar-right">
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown"
aria-haspopup="true" aria-expanded="false">
Apache Software Foundation<span class="caret"></span>
</a>
<div class="dropdown-menu" aria-labelledby="navbarDropdown">
<a class="dropdown-item" href="https://www.apache.org">Apache Homepage</a>
<a class="dropdown-item" href="https://www.apache.org/licenses/">License</a>
<a class="dropdown-item" href="https://www.apache.org/events/current-event">Events</a>
<a class="dropdown-item" href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a>
<a class="dropdown-item" href="https://www.apache.org/security">ASF Security</a>
<a class="dropdown-item" href="https://www.apache.org/foundation/thanks.html">Thanks</a>
<a class="dropdown-item" href="https://www.apache.org/foundation/policies/conduct">Code of
Conduct</a>
</div>
</li>
</ul>
</div>
</nav>
<br/>
<div class="container">
<h1>Apache Traffic Control - Current Release</h1>
<br/>
<br/>
<!-- Release 8.0.1 -->
<div class="row">
<div class="col-sm-12">
<div class="card-deck">
<div class="card">
<div class="card-body">
<h3 class="card-title"><b>Apache Traffic Control 8.0.1 - April 3<sup>rd</sup>, 2024</b></h3>
<p class="card-text">Apache Traffic Control 8.0.1 is available here:
<ul>
<li>
<a href="https://dlcdn.apache.org/trafficcontrol/8.0.1/apache-trafficcontrol-8.0.1.tar.gz">Tarball</a>
</li>
<li>
<a href="https://downloads.apache.org/trafficcontrol/8.0.1/apache-trafficcontrol-8.0.1.tar.gz.sha512">SHA-512</a>
</li>
<li>
<a href="https://downloads.apache.org/trafficcontrol/8.0.1/apache-trafficcontrol-8.0.1.tar.gz.asc">ASC</a>
</li>
<li><a href="https://downloads.apache.org/trafficcontrol/KEYS">KEYS</a></li>
<li><a href="/downloads/profiles/8.0.x/">Default Profiles</a></li>
</ul>
</p>
<h4>Release Notes</h4>
<h5><u>Traffic Ops</u></h5>
<p class="card-text">
<ul>
<li><a href="https://github.com/apache/trafficcontrol/pull/7957">#7957</a> Fix the incorrect display of delivery services assigned to ORG servers.</li>
<li><a href="https://github.com/apache/trafficcontrol/pull/7929">#7929</a> Ensure read-only role can perform only GET requests.</li>
</ul>
</p>
</div>
</div>
</div>
</div>
</div>
<br><h2>Signing Keys</h2>
<p>It is essential that you verify the integrity of the downloaded files using the PGP or MD5 signatures.</p>
<p>The PGP signatures can be verified using PGP or GPG. First download the KEYS as well as the `ASC` signature file
for the relevant distribution. Make sure you get these files from the main distribution directory, rather than
from a mirror. Then verify the signatures using:
<pre style="background-color: #C0C0C0; padding: 0px 20px 20px 20px;"><code>
% pgpk -a KEYS % pgpv apache-trafficcontrol-8.0.1.tar.gz.asc
</code>
or
<code>
% pgp -ka KEYS
% pgp apache-trafficcontrol-8.0.1.tar.gz.asc
</code>
or
<code>
% gpg --import KEYS
% gpg --verify apache-trafficcontrol-8.0.1.tar.gz.asc apache-trafficcontrol-8.0.1.tar.gz
</code> </pre>
<pre style="background-color: #C0C0C0; padding: 0px 20px 20px 20px;"><code>
$ gpg --verify apache-trafficcontrol-8.0.1.tar.gz.asc apache-trafficcontrol-8.0.1.tar.gz
gpg: Signature made Wed Mar 27 10:55:24 2024 MDT
gpg: using RSA key 383FAA8E2028BB4796DFE5A177B0253DC9954099
gpg: Good signature from "Rima Shah &lt;rshah@apache.org&gt;" [ultimate]
</code></pre>
</p>
<p>Additionally, you should verify the SHA signature on the files. A unix program called `sha` or `shasum` is
included in many unix distributions. It is also available as part of GNU Textutils. An MD5 signature
(deprecated) consists of 32 hex characters, and a SHA512 signature consists of 128 hex characters. Ensure your
generated signature string matches the signature string published in the files above.
</p>
<br/>
<h2>Past Releases</h2>
<!-- Release 8.0.0 -->
<div class="row">
<div class="col-sm-12">
<div class="card-deck">
<div class="card">
<div class="card-body">
<h3 class="card-title"><b>Apache Traffic Control 8.0.0 - January 30<sup>th</sup>, 2024</b></h3>
<p class="card-text">Apache Traffic Control 8.0.0 is available here:
<ul>
<li>
<a href="https://dlcdn.apache.org/trafficcontrol/8.0.0/apache-trafficcontrol-8.0.0.tar.gz">Tarball</a>
</li>
<li>
<a href="https://downloads.apache.org/trafficcontrol/8.0.0/apache-trafficcontrol-8.0.0.tar.gz.sha512">SHA-512</a>
</li>
<li>
<a href="https://downloads.apache.org/trafficcontrol/8.0.0/apache-trafficcontrol-8.0.0.tar.gz.asc">ASC</a>
</li>
<li><a href="https://downloads.apache.org/trafficcontrol/KEYS">KEYS</a></li>
<li><a href="/downloads/profiles/8.0.x/">Default Profiles</a></li>
</ul>
</p>
<h4>Release Notes</h4>
<h5><u>Traffic Ops</u></h5>
<p class="card-text">
<ul>
<li><strong>Client Certificate Authentication</strong>: The ability for a Traffic Ops (TO) instance to accept TLS certificates from a client request and verify them against specified Root CA’s certificate as a form of login. This is not to be confused with mTLS, albeit a similar design. Should a client not send a TLS certificate as part of the request login functionality will default to standard form authentication.</li>
<li>Assignment of multiple Server Capabilities to a Server and vice-versa: Previous releases only allowed 1:1 assignment of server to a capability and vice-versa. This release now supports multiple assignments (1:many).</li>
<li>Simplification of CDN configs by removing hypnotoad section (used in deploying TO locally or in CIAB) was no longer being used.</li>
<li><strong>Layered Profile</strong>: Aggregation of parameters based on profile priority.</li>
<li><strong>Delivery Services</strong>: Regional field added to aid <code>maxOriginConnections</code></li>
<li><strong>Permission and Roles</strong>: Added new permissions (e.g.: <code>SSL-KEY_EXPIRATION:READ</code>, <code>ACME:READ</code>, etc.) to various roles. Also created a new role (<code>trouter</code>) to monitor Traffic Ops resources. Return empty array when no permission are given for a roles API (PUT, POST)</li>
<li><strong>Reporting</strong>: Added a feature to indicate success and failure during server upgrade.</li>
<li><strong>OAuth</strong> Added OAuth security when using Microsoft Authenticator and an optional field <code>oauth_user_attribute</code> for OAuth login credentials along with usage of ID token instead of Access Token for authentication.</li>
<li><a href="https://github.com/apache/trafficcontrol/issues/7674">#7674</a> Added the ability to indicate if a server failed its revalidate/config update.</li>
<li>Python Client uses APIv5</li>
<li>
Fixed the following issues/bugs:
<ul>
<li><a href="https://github.com/apache/trafficcontrol/pull/7891">#7891</a> Created clause to distinguish api versions &lt; 5 when handling 403 in middleware wrappers and updated job routes for v4 and v5.</li>
<li><a href="https://github.com/apache/trafficcontrol/pull/7890">#7890</a> Fixed missing changelog entries to v5 routes.</li>
<li><a href="https://github.com/apache/trafficcontrol/pull/7887">#7887</a> Limit Delivery Services returned for GET /servers/{id}/deliveryservices to ones in the same CDN</li>
<li><a href="https://github.com/apache/trafficcontrol/pull/7878">#7878</a> Fixed the case where TO was failing to assign delivery services to a server, due to a bug in the way the list of preexisting delivery services was being returned.</li>
<li><a href="https://github.com/apache/trafficcontrol/issues/4428">#4428</a> Fixed Internal Server Error with POST to <code>profileparameters</code> when POST body is empty</li>
<li><a href="https://github.com/apache/trafficcontrol/issues/7047">#7047</a> Allow <code>apply_time</code> query parameters on the <code>servers/{id-name}/update</code> when the CDN is locked.</li>
<li><a href="https://github.com/apache/trafficcontrol/issues/7046">#7046</a> API <code>deliveryservices/sslkeys/add</code> now checks that each cert in the chain is related.</li>
<li><a href="https://github.com/apache/trafficcontrol/issues/6340">#6340</a> Fixed alert messages for POST and PUT invalidation job APIs.</li>
<li><a href="https://github.com/apache/trafficcontrol/issues/7519">#7519</a> Fixed TO API <code>/servers/{id}/deliveryservices</code> endpoint to responding with all DS’s on cache that are directly assigned and inherited through topology.</li>
<li><a href="https://github.com/apache/trafficcontrol/issues/7130">#7130</a> Fixed service_categories response to POST API.</li>
<li><a href="https://github.com/apache/trafficcontrol/issues/6229">#6229</a> Fixed error message for assignment of non-existent parameters to a profile.</li>
<li><a href="https://github.com/apache/trafficcontrol/issues/6775">#6775</a> Invalid “orgServerFqdn” in Delivery Service creation/update causes Internal Server Error</li>
<li><a href="https://github.com/apache/trafficcontrol/issues/6385">#6385</a> Fixed reserved consistentHashQueryParameters from causing internal server error to a client error</li>
<li><a href="https://github.com/apache/trafficcontrol/issues/4393">#4393</a> Fixed the error code and alert structure when TO is queried for a delivery service with no ssl keys.</li>
<li><a href="https://github.com/apache/trafficcontrol/pull/7762">#7762</a> Fixed <code>/phys_locations</code> PUT API to remove error related to mismatching region name and ID.</li>
<li><a href="https://github.com/apache/trafficcontrol/pull/7511">#7511</a> Fixed the changelog registration message to include the username instead of duplicate email entry.</li>
<li><a href="https://github.com/apache/trafficcontrol/pull/7441">#7441</a> Fixed the invalidation jobs endpoint to respect CDN locks.</li>
<li><a href="https://github.com/apache/trafficcontrol/pull/7282">#7282</a> Fixed issue with user getting correctly logged when using an access or bearer token authentication.</li>
<li><a href="https://github.com/apache/trafficcontrol/pull/7231">#7231</a> Fixed <code>sharedUserNames</code> display while retrieving CDN locks.</li>
<li><a href="https://github.com/apache/trafficcontrol/pull/7628">#7628</a> Fixed an issue where certificate chain validation failed based on leading or trailing whitespace.</li>
<li><a href="https://github.com/apache/trafficcontrol/pull/7688">#7688</a> Fixed ability to view secured parameters when role has correct permissions.</li>
<li><a href="https://github.com/apache/trafficcontrol/pull/7697">#7697</a> Fixed display of <code>iloPassword</code> and <code>xmppPassword</code>, now based on permissions and instead of priv-level.</li>
</ul>
</li>
</ul>
<h6>Breaking changes:</h6>
<ul>
<li>Fixed DS “ACTIVE” flag (<a href="https://github.com/apache/trafficcontrol/pull/4654">Blueprint</a>): Previously setting a Delivery Service (DS) to “Inactive” actually only sets it to “not routed”. There is no way to create a Delivery Service (with assigned servers) that will not be distributed to cache server configuration. This fix changes the <code>Active</code> property of Delivery Services from a boolean to an enumerated string constant that can represent three different “Activity States” for a Delivery Service.</li>
<li>Updated <code>LastUpdated</code> field across multiple APIs to use <code>RFC3339</code> instead of deprecated <code>time.Time</code>.</li>
<li>Capabilities are now part of DS structure instead of a separate struct.</li>
</ul>
</p>
<h5><u>Traffic Portal</u></h5>
<p class="card-text">
<p><strong>Delivery Service (DS)</strong>:</p>
<ul>
<li>Added server capability (removed from DS context menu), lastUpdated fields to the DS forms.</li>
<li>Added the ability to tell if a DS has the target of another steering DS.</li>
<li>New config options in traffic_portal_properties.json for DS active flag feature.</li>
</ul>
<p><strong>Certs</strong>: Added visuals to DS cert expiration grid rows and the the ability to inspect a user provider cert, or the cert chain on DS SSL keys, and to delete a cert. Also added a revert certificate functionality.</p>
<p><strong>Servers</strong>: Improved information about profile priorities with respect to layered profile.</p>
<p><strong>Change Log</strong>: Ability to view entire log message by clicking on it.</p>
<p><strong>CDN</strong>: Added <code>TTLOverride</code> field to allow a quick turnaround time when performing TR maintenance that involves restarts.</p>
<p><strong>UI Beautification</strong>: Added better labels for widgets, simplifying DS button bar by moving DS changes/ DSRs under More menu, obscure sensitive text in <code>raw remap</code> fields, private SSL keys, “Header Rewrite” rules, and ILO interface passwords.</p>
<ul>
<li>Dependent on NodeJS version 16 or later</li>
<li>
Fixed the following issues/bugs:
<ul>
<li><a href="https://github.com/apache/trafficcontrol/pull/7885">#7885</a> Fixed the issue where Compare Profiles page was not being displayed.</li>
<li><a href="https://github.com/apache/trafficcontrol/7879">#7879</a> Fixed broken capability links for delivery service and added required capability as a column in DS table.</li>
<li><a href="https://github.com/apache/trafficcontrol/issues/7049">#7049</a>, <a href="https://github.com/apache/trafficcontrol/issues/7052">#7052</a> Fixed server table’s quick search and filter option for multiple profiles.</li>
<li><a href="https://github.com/apache/trafficcontrol/issues/7080">#7080</a>, <a href="https://github.com/apache/trafficcontrol/issues/6335">#6335</a> Fixed redirect links for server capability.</li>
<li><a href="https://github.com/apache/trafficcontrol/pull/7414">#7414</a> Fixed DSR difference for DS required capability.</li>
<li><a href="https://github.com/apache/trafficcontrol/issues/5557">#5557</a> Moved <code>Fair Queueing Pacing Rate Bps</code> DS field to <code>Cache Configuration Settings</code> section.</li>
<li><a href="https://github.com/apache/trafficcontrol/pull/7216">#7216</a> Fixed sort for Server’s Capabilities Table</li>
<li><a href="https://github.com/apache/trafficcontrol/issues/7179">#7179</a> Fixed search filter for Delivery Service Table</li>
<li><a href="https://github.com/apache/trafficcontrol/issues/7174">#7174</a> Fixed topologies sort (table and Delivery Service’s form)</li>
<li><a href="https://github.com/apache/trafficcontrol/issues/5970">#5970</a> Fixed numeric sort in Delivery Service’s form for DSCP</li>
<li><a href="https://github.com/apache/trafficcontrol/issues/5971">#5971</a> Fixed Max DNS Tool Top link to open in a new page</li>
</ul>
</li>
</ul>
</p>
<h5><u>Traffic Router</u></h5>
<p class="card-text">
<ul>
<li>Optimized TR’s logic in zone detection and ability to handle DDOS attack by increasing TTL value.</li>
<li>Logging improved for a better connection and user experience.</li>
<li>Removed <code>dnssec.zone.diffing.enabled</code> and <code>dnssec.rrsig.cache.enabled</code> parameters</li>
<li><a href="https://github.com/apache/trafficcontrol/pull/7808">#7808</a> Set SOA <code>minimum</code> field to a custom value defined in the <code>tld.soa.minimum</code> param, and remove the previously added <code>dns.negative.caching.ttl</code> property.</li>
<li>
Fixed the following issues/bugs:
<ul>
<li><a href="https://github.com/apache/trafficcontrol/pull/7340">#7340</a> Fixed TR logging for the <code>cqhv</code> field when absent.</li>
<li><a href="https://github.com/apache/trafficcontrol/issues/7252">#7252</a> Fixed integer overflow for <code>czCount</code>, by resetting the count to max value when it overflows.</li>
<li><a href="https://github.com/apache/trafficcontrol/issues/7093">#7093</a> Updated Apache Tomcat from 9.0.43 to 9.0.67</li>
<li><a href="https://github.com/apache/trafficcontrol/pull/3965">#3965</a> TR now always includes a <code>Content-Length</code> header in the response.</li>
<li><a href="https://github.com/apache/trafficcontrol/issues/6533">#6533</a> TR should not rename/recreate log files on rollover</li>
</ul>
</li>
</ul>
</p>
<h5><u>Traffic Stats</u></h5>
<p class="card-text">
<ul>
<li>Improved logic to handle connection leaks and client requests timeout to Traffic Ops</li>
</ul>
</p>
<h5><u>Traffic Monitor</u></h5>
<p class="card-text">
<ul>
<li>Improved logging with respect to ip availability for both, v4 and v6</li>
<li>Fixed the bandwidth doubling issue per cache.</li>
</ul>
</p>
<h5><u>Traffic Control Cache Config (T3C) (formerly ORT)</u></h5>
<p class="card-text">
<ul>
<li>Config Generation: Addition of t3c-apply flag to allow ease of usage locally and a descriptive exit error message on failure.</li>
<li>RPM Checks added to keep cache config up to date in case of RPM failures.</li>
<li>Added support for anycast</li>
<li>Decreased the amount of commits to the repo by removing timestamp from metadata file.</li>
<li><a href="https://github.com/apache/trafficcontrol/pull/7719">#7719</a> Added automatic self-healing when using slice plugin.</li>
<li>
Fixed the following:
<ul>
<li><a href="https://github.com/apache/trafficcontrol/pull/7817">#7817</a> Fixed issue that would cause null ptr panic on client fallback.</li>
<li><a href="https://github.com/apache/trafficcontrol/pull/7866">#7866</a> Fixed rpm db check to work with rocky linux 9.</li>
<li><a href="https://github.com/apache/trafficcontrol/issues/7021">#7021</a> Fixed cache config for Delivery Services with IP Origins.</li>
<li><a href="https://github.com/apache/trafficcontrol/issues/7043">#7043</a> Fixed cache config missing retry parameters for non-topology MSO Delivery Services going direct from edge to origin.</li>
<li><a href="https://github.com/apache/trafficcontrol/issues/7163">#7163</a> Fix cache config for multiple profiles</li>
<li><a href="https://github.com/apache/trafficcontrol/issues/6695">#6695</a> Directory creation was erroneously reporting an error when actually succeeding.</li>
<li><a href="https://github.com/apache/trafficcontrol/issues/7590">#7590</a> Fixed issue with git detected dubious ownership in repository.</li>
<li><a href="https://github.com/apache/trafficcontrol/pull/7137">#7137</a> parent.config simulate topology for non topo delivery services.</li>
<li><a href="https://github.com/apache/trafficcontrol/pull/7153">#7153</a> Adds an extra T3C check for validity of an ssl cert (crash fix).</li>
<li><a href="https://github.com/apache/trafficcontrol/pull/7182">#7182</a> Sort peers used in strategy.yaml to prevent false positive for reload.</li>
<li><a href="https://github.com/apache/trafficcontrol/pull/7204">#7204</a> strategies.yaml hash_key only for consistent_hash</li>
<li><a href="https://github.com/apache/trafficcontrol/pull/7277">#7277</a> remapdotconfig: remove skip check at mids for nocache/live</li>
<li><a href="https://github.com/apache/trafficcontrol/pull/7346">#7346</a> Fixed issue with stale lock file when using git to track changes.</li>
<li><a href="https://github.com/apache/trafficcontrol/pull/7352">#7352</a> Fixed issue with application locking which would allow multiple instances of <code>t3c apply</code> to run concurrently.</li>
<li><a href="https://github.com/apache/trafficcontrol/pull/7411">#7411</a> Fixed issue with wrong parent ordering with MSO non-topology delivery services.</li>
<li><a href="https://github.com/apache/trafficcontrol/pull/7425">#7425</a> Fixed issue with layered profile iteration being done in the wrong order.</li>
<li><a href="https://github.com/apache/trafficcontrol/pull/7471">#7471</a> Fixed issue with MSO non topo origins from multiple cache groups.</li>
</ul>
</li>
</ul>
</p>
<h5><u>TC Health Client</u></h5>
<p class="card-text">
Added a peer monitoring flag in strategies.yaml<br>
Added three health mechanisms: L4 health (a TCP syn-ack-rst), L7 health (a successful HTTP response), and a meta-parent poll which polls the parent’s own health client parent health and uses a heuristic of unavailable parents on the parent.<br>
<em>T3C Traffic Control Health Client</em> upgraded to Apache Traffic Server (ATS) 9.2.
</p>
<h5><u>Other Components</u></h5>
<p class="card-text">
CDN in a Box, the t3c integration tests, and the tc health client integration tests now use 9.1.<br>
<a href="https://github.com/apache/trafficcontrol/pull/7896">#7896</a> <em>ATC Build system</em>: Count commits since the last release, not commits.
</p>
</div>
</div>
</div>
</div>
</div>
<!-- Start Footer -->
<div class="row">
<div class="col-sm-12 center-block">
<footer>
<hr/>
<p>
<a href="https://www.apache.org/foundation/contributing">
<img src="https://www.apache.org/images/SupportApache-small.png"
id="asf-logo"
height="100"
alt="Apache"
class="float-left"
style="margin-right: 15px;"></a>
Copyright &copy; 2021 <a
href="https://www.apache.org">The&nbsp;Apache&nbsp;Software&nbsp;Foundation</a>.
Licensed under the <a href="https://www.apache.org/licenses/">Apache&nbsp;License,&nbsp;Version&nbsp;2.0</a>
</p>
<p>
Apache®, the names of Apache projects and their logos, and the multicolor feather
logo are registered trademarks or trademarks of The Apache Software Foundation
in the United States and/or other countries.
</p>
</footer>
</div>
</div>
</div>
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"
integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo"
crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.0/umd/popper.min.js"
integrity="sha384-cs/chFZiN24E4KMATLdqdvsezGxaGsi4hLGOzlXwp5UZB1LY//20VyM2taTB4QvJ"
crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.0/js/bootstrap.min.js"
integrity="sha384-uefMccjFJAIv6A+rW+L4AHf99KvxDjWSu1z9VI8SKNVmz4sk7buKt/6v9KI65qnm"
crossorigin="anonymous"></script>
</body>
</html>