<!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>
