blob: dcd9995dbf7f31eca33f0f16a47b855f0a0dbbf0 [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">
<!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
<title>Apache Flink: Apache Flink 1.2.1 Released</title>
<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon">
<link rel="icon" href="/favicon.ico" type="image/x-icon">
<!-- Bootstrap -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css">
<link rel="stylesheet" href="/css/flink.css">
<link rel="stylesheet" href="/css/syntax.css">
<!-- Blog RSS feed -->
<link href="/blog/feed.xml" rel="alternate" type="application/rss+xml" title="Apache Flink Blog: RSS feed" />
<!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
<!-- We need to load Jquery in the header for custom google analytics event tracking-->
<script src="/js/jquery.min.js"></script>
<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
</head>
<body>
<!-- Main content. -->
<div class="container">
<div class="row">
<div id="sidebar" class="col-sm-3">
<!-- Top navbar. -->
<nav class="navbar navbar-default">
<!-- The logo. -->
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<div class="navbar-logo">
<a href="/">
<img alt="Apache Flink" src="/img/flink-header-logo.svg" width="147px" height="73px">
</a>
</div>
</div><!-- /.navbar-header -->
<!-- The navigation links. -->
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
<ul class="nav navbar-nav navbar-main">
<!-- First menu section explains visitors what Flink is -->
<!-- What is Stream Processing? -->
<!--
<li><a href="/streamprocessing1.html">What is Stream Processing?</a></li>
-->
<!-- What is Flink? -->
<li><a href="/flink-architecture.html">What is Apache Flink?</a></li>
<!-- What is Stateful Functions? -->
<li><a href="/stateful-functions.html">What is Stateful Functions?</a></li>
<!-- Use cases -->
<li><a href="/usecases.html">Use Cases</a></li>
<!-- Powered by -->
<li><a href="/poweredby.html">Powered By</a></li>
&nbsp;
<!-- Second menu section aims to support Flink users -->
<!-- Downloads -->
<li><a href="/downloads.html">Downloads</a></li>
<!-- Getting Started -->
<li class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown" href="#">Getting Started<span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a href="https://ci.apache.org/projects/flink/flink-docs-release-1.10/getting-started/index.html" target="_blank">With Flink <small><span class="glyphicon glyphicon-new-window"></span></small></a></li>
<li><a href="https://ci.apache.org/projects/flink/flink-statefun-docs-release-2.1/getting-started/project-setup.html" target="_blank">With Flink Stateful Functions <small><span class="glyphicon glyphicon-new-window"></span></small></a></li>
<li><a href="/training.html">Training Course</a></li>
</ul>
</li>
<!-- Documentation -->
<li class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown" href="#">Documentation<span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a href="https://ci.apache.org/projects/flink/flink-docs-release-1.10" target="_blank">Flink 1.10 (Latest stable release) <small><span class="glyphicon glyphicon-new-window"></span></small></a></li>
<li><a href="https://ci.apache.org/projects/flink/flink-docs-master" target="_blank">Flink Master (Latest Snapshot) <small><span class="glyphicon glyphicon-new-window"></span></small></a></li>
<li><a href="https://ci.apache.org/projects/flink/flink-statefun-docs-release-2.1" target="_blank">Flink Stateful Functions 2.1 (Latest stable release) <small><span class="glyphicon glyphicon-new-window"></span></small></a></li>
<li><a href="https://ci.apache.org/projects/flink/flink-statefun-docs-master" target="_blank">Flink Stateful Functions Master (Latest Snapshot) <small><span class="glyphicon glyphicon-new-window"></span></small></a></li>
</ul>
</li>
<!-- getting help -->
<li><a href="/gettinghelp.html">Getting Help</a></li>
<!-- Blog -->
<li class="active"><a href="/blog/"><b>Flink Blog</b></a></li>
<!-- Flink-packages -->
<li>
<a href="https://flink-packages.org" target="_blank">flink-packages.org <small><span class="glyphicon glyphicon-new-window"></span></small></a>
</li>
&nbsp;
<!-- Third menu section aim to support community and contributors -->
<!-- Community -->
<li><a href="/community.html">Community &amp; Project Info</a></li>
<!-- Roadmap -->
<li><a href="/roadmap.html">Roadmap</a></li>
<!-- Contribute -->
<li><a href="/contributing/how-to-contribute.html">How to Contribute</a></li>
<!-- GitHub -->
<li>
<a href="https://github.com/apache/flink" target="_blank">Flink on GitHub <small><span class="glyphicon glyphicon-new-window"></span></small></a>
</li>
&nbsp;
<!-- Language Switcher -->
<li>
<!-- link to the Chinese home page when current is blog page -->
<a href="/zh">中文版</a>
</li>
</ul>
<ul class="nav navbar-nav navbar-bottom">
<hr />
<!-- Twitter -->
<li><a href="https://twitter.com/apacheflink" target="_blank">@ApacheFlink <small><span class="glyphicon glyphicon-new-window"></span></small></a></li>
<!-- Visualizer -->
<li class=" hidden-md hidden-sm"><a href="/visualizer/" target="_blank">Plan Visualizer <small><span class="glyphicon glyphicon-new-window"></span></small></a></li>
<hr />
<li><a href="https://apache.org" target="_blank">Apache Software Foundation <small><span class="glyphicon glyphicon-new-window"></span></small></a></li>
<li>
<style>
.smalllinks:link {
display: inline-block !important; background: none; padding-top: 0px; padding-bottom: 0px; padding-right: 0px; min-width: 75px;
}
</style>
<a class="smalllinks" href="https://www.apache.org/licenses/" target="_blank">License</a> <small><span class="glyphicon glyphicon-new-window"></span></small>
<a class="smalllinks" href="https://www.apache.org/security/" target="_blank">Security</a> <small><span class="glyphicon glyphicon-new-window"></span></small>
<a class="smalllinks" href="https://www.apache.org/foundation/sponsorship.html" target="_blank">Donate</a> <small><span class="glyphicon glyphicon-new-window"></span></small>
<a class="smalllinks" href="https://www.apache.org/foundation/thanks.html" target="_blank">Thanks</a> <small><span class="glyphicon glyphicon-new-window"></span></small>
</li>
</ul>
</div><!-- /.navbar-collapse -->
</nav>
</div>
<div class="col-sm-9">
<div class="row-fluid">
<div class="col-sm-12">
<div class="row">
<h1>Apache Flink 1.2.1 Released</h1>
<p><i></i></p>
<article>
<p>26 Apr 2017</p>
<p>The Apache Flink community released the first bugfix version of the Apache Flink 1.2 series.</p>
<p>This release includes many critical fixes for Flink 1.2.0. The list below includes a detailed list of all fixes.</p>
<p>We highly recommend all users to upgrade to Flink 1.2.1.</p>
<p>Please note that there are two unresolved major issues in Flink 1.2.1 and 1.2.0:</p>
<ul>
<li><a href="https://issues.apache.org/jira/browse/FLINK-6353">FLINK-6353</a> Restoring using CheckpointedRestoring does not work from 1.2 to 1.2</li>
<li><a href="https://issues.apache.org/jira/browse/FLINK-6188">FLINK-6188</a> Some setParallelism() methods can’t cope with default parallelism</li>
</ul>
<div class="highlight"><pre><code class="language-xml"><span class="nt">&lt;dependency&gt;</span>
<span class="nt">&lt;groupId&gt;</span>org.apache.flink<span class="nt">&lt;/groupId&gt;</span>
<span class="nt">&lt;artifactId&gt;</span>flink-java<span class="nt">&lt;/artifactId&gt;</span>
<span class="nt">&lt;version&gt;</span>1.2.1<span class="nt">&lt;/version&gt;</span>
<span class="nt">&lt;/dependency&gt;</span>
<span class="nt">&lt;dependency&gt;</span>
<span class="nt">&lt;groupId&gt;</span>org.apache.flink<span class="nt">&lt;/groupId&gt;</span>
<span class="nt">&lt;artifactId&gt;</span>flink-streaming-java_2.10<span class="nt">&lt;/artifactId&gt;</span>
<span class="nt">&lt;version&gt;</span>1.2.1<span class="nt">&lt;/version&gt;</span>
<span class="nt">&lt;/dependency&gt;</span>
<span class="nt">&lt;dependency&gt;</span>
<span class="nt">&lt;groupId&gt;</span>org.apache.flink<span class="nt">&lt;/groupId&gt;</span>
<span class="nt">&lt;artifactId&gt;</span>flink-clients_2.10<span class="nt">&lt;/artifactId&gt;</span>
<span class="nt">&lt;version&gt;</span>1.2.1<span class="nt">&lt;/version&gt;</span>
<span class="nt">&lt;/dependency&gt;</span></code></pre></div>
<p>You can find the binaries on the updated <a href="http://flink.apache.org/downloads.html">Downloads page</a>.</p>
<h2>Release Notes - Flink - Version 1.2.1</h2>
<h3> Sub-task
</h3>
<ul>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-5546">FLINK-5546</a>] - java.io.tmpdir setted as project build directory in surefire plugin
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-5640">FLINK-5640</a>] - configure the explicit Unit Test file suffix
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-5723">FLINK-5723</a>] - Use &quot;Used&quot; instead of &quot;Initial&quot; to make taskmanager tag more readable
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-5825">FLINK-5825</a>] - In yarn mode, a small pic can not be loaded
</li>
</ul>
<h3> Bug
</h3>
<ul>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-4813">FLINK-4813</a>] - Having flink-test-utils as a dependency outside Flink fails the build
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-4848">FLINK-4848</a>] - keystoreFilePath should be checked against null in SSLUtils#createSSLServerContext
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-5628">FLINK-5628</a>] - CheckpointStatsTracker implements Serializable but isn&#39;t
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-5644">FLINK-5644</a>] - Task#lastCheckpointSize metric broken
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-5650">FLINK-5650</a>] - Flink-python tests executing cost too long time
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-5652">FLINK-5652</a>] - Memory leak in AsyncDataStream
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-5669">FLINK-5669</a>] - flink-streaming-contrib DataStreamUtils.collect in local environment mode fails when offline
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-5678">FLINK-5678</a>] - User-defined TableFunctions do not support all types of parameters
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-5699">FLINK-5699</a>] - Cancel with savepoint fails with a NPE if savepoint target directory not set
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-5701">FLINK-5701</a>] - FlinkKafkaProducer should check asyncException on checkpoints
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-5708">FLINK-5708</a>] - we should remove duplicated configuration options
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-5732">FLINK-5732</a>] - Java quick start mvn command line is incorrect
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-5749">FLINK-5749</a>] - unset HADOOP_HOME and HADOOP_CONF_DIR to avoid env in build machine failing the UT and IT
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-5751">FLINK-5751</a>] - 404 in documentation
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-5771">FLINK-5771</a>] - DelimitedInputFormat does not correctly handle multi-byte delimiters
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-5773">FLINK-5773</a>] - Cannot cast scala.util.Failure to org.apache.flink.runtime.messages.Acknowledge
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-5806">FLINK-5806</a>] - TaskExecutionState toString format have wrong key
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-5814">FLINK-5814</a>] - flink-dist creates wrong symlink when not used with cleaned before
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-5817">FLINK-5817</a>] - Fix test concurrent execution failure by test dir conflicts.
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-5828">FLINK-5828</a>] - BlobServer create cache dir has concurrency safety problem
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-5885">FLINK-5885</a>] - Java code snippet instead of scala in documentation
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-5907">FLINK-5907</a>] - RowCsvInputFormat bug on parsing tsv
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-5934">FLINK-5934</a>] - Scheduler in ExecutionGraph null if failure happens in ExecutionGraph.restoreLatestCheckpointedState
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-5940">FLINK-5940</a>] - ZooKeeperCompletedCheckpointStore cannot handle broken state handles
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-5942">FLINK-5942</a>] - Harden ZooKeeperStateHandleStore to deal with corrupted data
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-5945">FLINK-5945</a>] - Close function in OuterJoinOperatorBase#executeOnCollections
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-5949">FLINK-5949</a>] - Flink on YARN checks for Kerberos credentials for non-Kerberos authentication methods
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-5962">FLINK-5962</a>] - Cancel checkpoint canceller tasks in CheckpointCoordinator
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-5965">FLINK-5965</a>] - Typo on DropWizard wrappers
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-5972">FLINK-5972</a>] - Don&#39;t allow shrinking merging windows
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-5985">FLINK-5985</a>] - Flink treats every task as stateful (making topology changes impossible)
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-6000">FLINK-6000</a>] - Can not start HA cluster with start-cluster.sh
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-6001">FLINK-6001</a>] - NPE on TumblingEventTimeWindows with ContinuousEventTimeTrigger and allowedLateness
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-6002">FLINK-6002</a>] - Documentation: &#39;MacOS X&#39; under &#39;Download and Start Flink&#39; in Quickstart page is not rendered correctly
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-6006">FLINK-6006</a>] - Kafka Consumer can lose state if queried partition list is incomplete on restore
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-6025">FLINK-6025</a>] - User code ClassLoader not used when KryoSerializer fallbacks to serialization for copying
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-6051">FLINK-6051</a>] - Wrong metric scope names in documentation
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-6084">FLINK-6084</a>] - Cassandra connector does not declare all dependencies
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-6133">FLINK-6133</a>] - fix build status in README.md
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-6170">FLINK-6170</a>] - Some checkpoint metrics rely on latest stat snapshot
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-6181">FLINK-6181</a>] - Zookeeper scripts use invalid regex
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-6182">FLINK-6182</a>] - Fix possible NPE in SourceStreamTask
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-6183">FLINK-6183</a>] - TaskMetricGroup may not be cleanup when Task.run() is never called or exits early
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-6184">FLINK-6184</a>] - Buffer metrics can cause NPE
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-6203">FLINK-6203</a>] - DataSet Transformations
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-6207">FLINK-6207</a>] - Duplicate type serializers for async snapshots of CopyOnWriteStateTable
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-6308">FLINK-6308</a>] - Task managers are not attaching to job manager on macos
</li>
</ul>
<h3> Improvement
</h3>
<ul>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-4326">FLINK-4326</a>] - Flink start-up scripts should optionally start services on the foreground
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-5217">FLINK-5217</a>] - Deprecated interface Checkpointed make clear suggestion
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-5331">FLINK-5331</a>] - PythonPlanBinderTest idling extremely long
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-5581">FLINK-5581</a>] - Improve Kerberos security related documentation
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-5639">FLINK-5639</a>] - Clarify License implications of RabbitMQ Connector
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-5680">FLINK-5680</a>] - Document env.ssh.opts
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-5681">FLINK-5681</a>] - Make ReaperThread for SafetyNetCloseableRegistry a singleton
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-5702">FLINK-5702</a>] - Kafka Producer docs should warn if using setLogFailuresOnly, at-least-once is compromised
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-5705">FLINK-5705</a>] - webmonitor&#39;s request/response use UTF-8 explicitly
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-5713">FLINK-5713</a>] - Protect against NPE in WindowOperator window cleanup
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-5721">FLINK-5721</a>] - Add FoldingState to State Documentation
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-5800">FLINK-5800</a>] - Make sure that the CheckpointStreamFactory is instantiated once per operator only
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-5805">FLINK-5805</a>] - improve docs for ProcessFunction
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-5807">FLINK-5807</a>] - improved wording for doc home page
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-5837">FLINK-5837</a>] - improve readability of the queryable state docs
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-5876">FLINK-5876</a>] - Mention Scala type fallacies for queryable state client serializers
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-5877">FLINK-5877</a>] - Fix Scala snippet in Async I/O API doc
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-5894">FLINK-5894</a>] - HA docs are misleading re: state backends
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-5895">FLINK-5895</a>] - Reduce logging aggressiveness of FileSystemSafetyNet
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-5938">FLINK-5938</a>] - Replace ExecutionContext by Executor in Scheduler
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-6212">FLINK-6212</a>] - Missing reference to flink-avro dependency
</li>
</ul>
<h3> New Feature
</h3>
<ul>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-6139">FLINK-6139</a>] - Documentation for building / preparing Flink for MapR
</li>
</ul>
<h3> Task
</h3>
<ul>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-2883">FLINK-2883</a>] - Add documentation to forbid key-modifying ReduceFunction
</li>
<li>[<a href="https://issues.apache.org/jira/browse/FLINK-3903">FLINK-3903</a>] - Homebrew Installation
</li>
</ul>
</article>
</div>
<div class="row">
<div id="disqus_thread"></div>
<script type="text/javascript">
/* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */
var disqus_shortname = 'stratosphere-eu'; // required: replace example with your forum shortname
/* * * DON'T EDIT BELOW THIS LINE * * */
(function() {
var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
})();
</script>
</div>
</div>
</div>
</div>
</div>
<hr />
<div class="row">
<div class="footer text-center col-sm-12">
<p>Copyright © 2014-2019 <a href="http://apache.org">The Apache Software Foundation</a>. All Rights Reserved.</p>
<p>Apache Flink, Flink®, Apache®, the squirrel logo, and the Apache feather logo are either registered trademarks or trademarks of The Apache Software Foundation.</p>
<p><a href="/privacy-policy.html">Privacy Policy</a> &middot; <a href="/blog/feed.xml">RSS feed</a></p>
</div>
</div>
</div><!-- /.container -->
<!-- Include all compiled plugins (below), or include individual files as needed -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.matchHeight/0.7.0/jquery.matchHeight-min.js"></script>
<script src="/js/codetabs.js"></script>
<script src="/js/stickysidebar.js"></script>
<!-- Google Analytics -->
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-52545728-1', 'auto');
ga('send', 'pageview');
</script>
</body>
</html>