<!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">
    <title>Traffic Control</title>

    <!-- Bootstrap -->
    <link href="../css/bootstrap.min.css" rel="stylesheet">
    <link href="../css/home.css" rel="stylesheet">

  </head>
  <body>
    <div class="bkgdWrapper">
    </div>
    <div class="appWrapper">
      <div class="appHeader">
        <div class="applogo"></div>
          <div class="navWrapper">
            <ul>
              <li class="selected"><b>DOWNLOADS</b></a></li>
              <li class="navMain"><a href="https://github.com/apache/incubator-trafficcontrol">GIT</a></li>
              <li class="navMain"><a href="../docs/latest/index.html">DOCS</a></li>
              <li class="navMain"><a href="../ask/index.html">INFO</a></li>
		      <li class="navMain"><a href="../index.html">HOME</a></li></ul>
            </ul>
          </div>
        </div>
      <hr/>

      <div class="announce">
	      <p class="relNotesText">Apache Traffic Control-1.8.0-incubating has been released!
	      The artifacts and release notes are below ...</p>
      </div>


	  <div class="relNotesContainer">
	  <h1>Apache Traffic Control 1.8.0-incubating Release Notes</h1>
		The source code for Traffic Control 1.8.0 is available here:
		<table><tbody padding="0 15px 0 15px">
		<tr>
		   <td><a href="https://dist.apache.org/repos/dist/release/incubator/trafficcontrol/1.8.0-incubating/trafficcontrol-incubating-1.8.0.tar.gz">trafficcontrol-incubating-1.8.0.tar.gz</a></td>
		   <td padding="10px"><a href="https://dist.apache.org/repos/dist/release/incubator/trafficcontrol/1.8.0-incubating/trafficcontrol-incubating-1.8.0.tar.gz.md5">MD5</a></td>
		   <td padding="10px"><a href="https://dist.apache.org/repos/dist/release/incubator/trafficcontrol/1.8.0-incubating/trafficcontrol-incubating-1.8.0.tar.gz.sha1">SHA1</a></td>
		   <td padding="10px"><a href="https://dist.apache.org/repos/dist/release/incubator/trafficcontrol/1.8.0-incubating/trafficcontrol-incubating-1.8.0.tar.gz.asc">PGP</a></td>
		</tr>
		</tbody></table>
	  </div>

	  <div class="relNotesContainer">
		<h2>We're Incubating!</h2>
		<p class="relNotesText">The Traffic Control project has been accepted into the Apache Incubator, and is
		thus now Apache Traffic Control (incubating). Beyond simply moving the website,
		this necessitated a number of changes, including changing the license header on each file.
		</p>

		<p class="relNotesText">The 1.8.0-incubating release is Apache Traffic Control's
		first release under the Apache incubator.  This release contains numerous bug
		fixes in addition to the following:
		</p>

		<h3>Traffic Router</h3>
		<p class="relNotesText">Recommendations based on load testing of HTTPS support: </p>

		<p class="relNotesText">It is generally recommended to use the G1 garbage collector for JVM
		applications running on multi core machines. In addition to using the G1
		garbage collector, the InitiatingHeapOccupancyPercent was lowered to run
		garbage collection more frequently.  This improved overall throughput for
		Traffic Router and reduced 'Stop the World' garbage collection. </p>
		<p class="relNotesText">The following example of /opt/tomcat/bin/setenv.sh that
		has been tested on a multi core server running under HTTPS load test requests.
		Note that setting the min and max heap settings in setenv.sh will override init
		scripts in /etc/init.d/tomcat.</p>

			<pre><code>
#! /bin/sh
export CATALINA_OPTS="$CATALINA_OPTS -server"
export CATALINA_OPTS="$CATALINA_OPTS -Xms2g -Xmx2g"
export CATALINA_OPTS="$CATALINA_OPTS -XX:+UseG1GC"
export CATALINA_OPTS="$CATALINA_OPTS -XX:+UnlockExperimentalVMOptions"
export CATALINA_OPTS="$CATALINA_OPTS -XX:InitiatingHeapOccupancyPercent=30"
			</code></pre>

	<h3>Traffic Stats</h3>
	<ul>
	<li>As of 1.8 Traffic Stats now requires InfluxDB 1.0 or greater.  For support of InfluxDb version &lt; 1.0 please use Traffic Stats 1.7.</li> 
	<li>Traffic Stats now uses its config file to determine which influxdb urls to use. This allows a user to run a single instance of influxdb, an enterprise clustered solution, or a HA solution using influxdb-relay (https://github.com/influxdata/influxdb-relay).</li>

	<li>It is recommended to use the traffic_stats.cfg file provided by the TS 1.8 RPM. This version of the config file contains the new InfluxUrls array and there were some unnecessary variables that were removed.</li>
</ul>


	  </div>
	  <div class="relNotesContainer">
		 Older, non-ASF releases can be found <a href="http://traffic-control-cdn.net/downloads/index.html">here</a>.
	  </div>
    </div>
  </body>
</html>
