http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/e9062ca0/.htaccess
----------------------------------------------------------------------
diff --git a/.htaccess b/.htaccess
new file mode 100644
index 0000000..ee92fb7
--- /dev/null
+++ b/.htaccess
@@ -0,0 +1,35 @@
+
+# Individual deleted/renamed pages
+Redirect permanent /commercial-support.html /about/support/index.html
+Redirect permanent /documentation.html /docs/index.html
+Redirect permanent /doc12/documentation.html /docs/1.2/index.html
+Redirect permanent /doc20/documentation.html /docs/2.0/index.html
+Redirect permanent /doc/documentation.html /docs/3.0/index.html
+
+# Remaping legacy doc folders
+Redirect permanent /doc12/ /docs/1.2/
+Redirect permanent /doc20/ /docs/2.0/
+Redirect permanent /doc/ /docs/3.0/
+
+# Remapping dev folders
+Redirect permanent /developer-guide.html /dev/index.html
+Redirect permanent /how_development_happens.html 
/dev/how_development_happens.html
+Redirect permanent /code-repository.html /dev/code-repository.html
+Redirect permanent /eclipse.html /dev/eclipse.html
+Redirect permanent /building-cayenne.html /dev/building-cayenne.html
+Redirect permanent /release-guide.html /dev/release-guide.html
+Redirect permanent /running-unit-tests.html /dev/running-unit-tests.html
+
+# Remaping old -> new cayenne site
+Redirect permanent /support.html /about/support/index.html
+Redirect permanent /download.html /download/index.html
+
+# 4.0 docs
+Redirect permanent /docs/4.0/tutorial /docs/4.0/getting-started/index.html
+RedirectMatch permanent /docs/4\.0/tutorial/(.*)\.html$ 
/docs/4.0/getting-started/index.html
+
+# 4.1 docs
+RedirectMatch permanent /docs/4\.1/tutorial/(.*)\.html$ 
/docs/4.1/getting-started/index.html
+
+# Custom 404 error page
+ErrorDocument 404 /404.html

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/e9062ca0/2014/09/cayenne-31-released.html
----------------------------------------------------------------------
diff --git a/2014/09/cayenne-31-released.html b/2014/09/cayenne-31-released.html
new file mode 100644
index 0000000..82b9e06
--- /dev/null
+++ b/2014/09/cayenne-31-released.html
@@ -0,0 +1,272 @@
+<!DOCTYPE html>
+<html lang="en">
+    <head>
+        <meta charset="utf-8">
+        <meta name="viewport" content="width=device-width, initial-scale=1, 
maximum-scale=1.3">
+        <link rel="shortcut icon" href="/favicon.ico" />
+        <link rel="apple-touch-icon-precomposed" 
href="/apple-touch-icon-144-precomposed.png" sizes="144x144" />
+        <link rel="stylesheet" 
href="http://cayenne.apache.org/css/styles-452af12eaa.css"/>
+        <script 
src="http://cayenne.apache.org/js/bundle-bcaaf59313.js";></script>
+        <title>The Apache Software Foundation Announces Apache™ Cayenne™ 
v3.1 &middot; Apache Cayenne</title>
+    </head>
+    <body> 
+<header class="page-header">
+    <nav id="topbar" class="bg-dark" aria-label="breadcrumb" role="navigation">
+      <ul class="breadcrumb breadcrumb-sm breadcrumb-dark  container  mb-0">
+        <img class="mh-26px  mr-1" src="/img/feather-641aa69d09.svg" />
+        <li class="breadcrumb-item dropdown">
+          <a class="dropdown-toggle" href="#" id="navbarDropdown" 
role="button" data-toggle="dropdown" aria-haspopup="true" 
aria-expanded="false">Apache Software Foundation</a>
+          <div class="dropdown-menu" aria-labelledby="navbarDropdown">
+            <a class="dropdown-item" href="http://www.apache.org";>Apache 
Homepage</a>
+            <a class="dropdown-item" 
href="http://www.apache.org/licenses/";>License</a>
+            <a class="dropdown-item" 
href="http://www.apache.org/foundation/sponsorship.html";>Sponsorship</a>
+            <a class="dropdown-item" 
href="http://www.apache.org/foundation/thanks.html";>Thanks</a>
+            <a class="dropdown-item" 
href="http://www.apache.org/security/";>Security</a>
+          </div>
+        </li>
+        <li class="breadcrumb-item d-none d-lg-inline-block">Apache 
Cayenne</li>
+      </ul>
+    </nav>
+    <nav class="navbar navbar-expand-lg navbar-dark bg-primary">
+      <div class="container">
+        <a class="navbar-brand" href="http://cayenne.apache.org/";>
+           <img src="/img/logo_mono_full-d7a19eef61.svg" alt="Apache Cayenne" 
/>
+        </a>
+        <button class="navbar-toggler" type="button" data-toggle="collapse" 
data-target="#mainMenu" aria-controls="mainMenu" aria-expanded="false" 
aria-label="Toggle navigation">
+          <span class="navbar-toggler-icon"></span>
+        </button>
+
+        <div class="collapse navbar-collapse" id="mainMenu">
+          <ul class="navbar-nav  mt-3 mt-lg-0 mr-auto">
+            
+            <li class="nav-item">
+              <a class="nav-link" href="/download/">DOWNLOAD</a>
+            </li>
+            
+            <li class="nav-item">
+              <a class="nav-link" href="/docs/">DOCUMENTATION</a>
+            </li>
+            
+            <li class="nav-item">
+              <a class="nav-link" href="/about/support/">SUPPORT</a>
+            </li>
+            
+          </ul>
+          <ul class="navbar-nav  flex-row justify-content-center  mt-2 mt-lg-0 
mb-2 mb-lg-0 " id="social-links-menu">
+            <li class="nav-item  d-flex">
+              <a class="nav-link  d-flex justify-content-center 
align-items-center" href="https://github.com/apache/cayenne";>
+                <img src="/img/icon_octocat_stars-c24dac94b8.svg" alt="GitHub" 
/><span class="stargazers_count  ml-1l2"></span></a>
+            </li>
+            <li class="nav-item  d-flex">
+              <a class="nav-link  d-flex justify-content-center 
align-items-center" href="https://twitter.com/ApacheCayenne";>
+                <img src="/img/icon_twitter-220a129d14.svg" alt="Twitter" />
+              </a>
+            </li>
+          </ul>
+        </div>
+      </div>
+    </nav>
+</header>
+
+
+
+
+    <main class="container  py-5">
+        
+                <section>
+                    <article>
+                        <h1 class="text-center">The Apache Software Foundation 
Announces Apache™ Cayenne™ v3.1<br />
+                            <small class="font-size-1rem text-muted">Sep 29, 
2014</small>
+                        </h1>
+                        
+
+<p>The Apache Software Foundation (ASF), the all-volunteer developers, 
stewards, and incubators of more than 200 Open Source projects and initiatives, 
announced today the availability of Apache™ Cayenne™ v3.1, the Open Source 
Java framework for object relational mapping (ORM), persistence, and 
caching.</p>
+
+<p>&ldquo;With the launch of version 3.1, Apache Cayenne has continued to 
evolve its mature 12 year-old library by introducing 125 new features,&rdquo; 
said Andrus Adamchik, Vice President of Apache Cayenne.
+Cayenne is an enterprise Java ORM with integrated support for caching, 
three-tier persistence, object lifecycles and workflow, inheritance, paging, on 
demand faulting, auditing and much more. As an object relational mapping 
library, Cayenne integrates applications to any SQL database available today, 
freeing solutions from being locked into one database engine. At the same time 
it improves performance through paging and caching, enforces data integrity and 
makes it dramatically faster for developers to build a reliable application.</p>
+
+<p>Cayenne has a track record of solid performance in high-volume 
environments. Apache Cayenne is an exceptional choice for persistence services, 
and is in use at ish onCourse, National Hockey League, Nike, Unilever and the 
Law Library of Congress (the world&rsquo;s largest publicly-available legal 
index) as well as dozens of high-demand applications and Websites accessed by 
millions of users each day.</p>
+
+<p>Apache Cayenne v3.1 is the result of 4 years of development. Notable new 
features and improvements include:</p>
+
+<ul>
+<li>easier configuration and embedding in any type of application;</li>
+<li>highly configurable runtime, enabled by one of the industry&rsquo;s 
smallest built-in Dependency Injection (DI) containers written specifically for 
Cayenne (and that co-exists with other DI/IoC, such as Apache Tapestry). It is 
also very easy to create more than one runtime, which opens interesting 
possibilities like multi-tenancy;</li>
+<li>nearly all components now pluggable, making it very easy to create more 
than one runtime and easily change or extend internals of the stack 
declaratively &ndash;from cache provider to SQL log format to DataSource lookup 
strategy and much more;</li>
+<li>improved ORM modularity to allow  projects to be included in libraries 
without assumptions about the target use. Different aspects of an application 
can now be modeled in separate mapping projects and combined in runtime as 
needed. As a result Cayenne projects can be included in libraries that make no 
assumptions about the target use;</li>
+<li>extended persistent events model from simple per-object events to more 
higher-level &ldquo;workflows&rdquo; that can be configured with app-specific 
annotations on persistent classes. Cayenne ships with 
&ldquo;cayenne-lifecycle&rdquo; module that provides a few common examples of 
such workflows activated on data changes: data modifications audit, precision 
cache invalidation, etc.; and performance optimizations for improved overall 
concurrency</li>
+</ul>
+
+<p>&ldquo;Developers who are seeking an alternate to EJB/Hibernate might find 
Cayenne&rsquo;s graphical modeler, reverse database engineering, easy to use 
query API and flexible context model a joy to work with,&rdquo; said Aristedes 
Maniatis, member of the Apache Cayenne Project Management Committee and CEO of 
ish.</p>
+
+<p>&ldquo;We use Apache Cayenne as the ORM for a large and complex budgeting 
project for around twenty government organizations,&rdquo; said Daniel Abrams, 
CEO of MassLight. &ldquo;Cayenne is used to access and persist exhibit data, 
business validation rules, and account information, and has simplified the 
development process. A single Cayenne method call evaluates all changes in the 
user&rsquo;s context and generates all statements required to commit their 
changes within a single transaction without the developer having to write code 
to track the changes &ndash; Cayenne does all the work. Since switching to 
Cayenne, there haven&rsquo;t been any faulting errors that tended to plague the 
previous version of the application because of the complex data model. This was 
one of the principal reasons for the switch to Cayenne and the data model has 
become significantly more complex now.&rdquo;</p>
+
+<p>&ldquo;We use Cayenne in our system to collect, quality control and 
distribute world coverage nautical charts to navies, pilots, inspectors and 
several thousand vessels,&rdquo; said Tore Halset, Development Manager at 
Electronic Chart Centre and PRIMAR. &ldquo;We have been happy users of Apache 
Cayenne since 2005 and are now on version 3.1.&rdquo;</p>
+
+<p>&ldquo;Apache Cayenne is a core service in Avoka Transact, an engagement 
platform for multi-channel sales and service transactions,&rdquo; said Malcolm 
Edgar, Vice President of Engineering at Avoka.</p>
+
+<p>&ldquo;We use Apache Cayenne to support the Oracle, MySQL, and SQL Server 
databases. Cayenne provides the right blend of ORM capabilities and low level 
JDBC access when required. It has been a rock-solid technology for us.&rdquo;
+In addition, Apache Cayenne&rsquo;s HTML documentation and tutorials have been 
completely revised and available in PDF for the first time.</p>
+
+<p>&ldquo;Our comprehensive documentation and vibrant, helpful user community 
are just what you need when you have questions about the internals of Cayenne 
or the best way to achieve your goals,&rdquo; added Adamchik.</p>
+
+<h3 id="availability-and-oversight">Availability and Oversight</h3>
+
+<p>Cayenne v3.1 is available immediately as a free download from <a 
href="http://cayenne.apache.org/download.html";>http://cayenne.apache.org/download.html</a>.
 As with all Apache products, Apache Cayenne software is released under the 
Apache License v2.0, and is overseen by a self-selected team of active 
contributors to the project. A Project Management Committee (PMC) guides the 
Project&rsquo;s day-to-day operations, including community development and 
product releases. For documentation and ways to become involved with Apache 
Cayenne, visit <a 
href="http://cayenne.apache.org/";>http://cayenne.apache.org/</a> and 
@ApacheCayenne on Twitter.</p>
+
+<h3 id="about-the-apache-software-foundation-asf">About The Apache Software 
Foundation (ASF)</h3>
+
+<p>Established in 1999, the all-volunteer Foundation oversees more than two 
hundred leading Open Source projects, including Apache HTTP Server &ndash;the 
world&rsquo;s most popular Web server software. Through the ASF&rsquo;s 
meritocratic process known as &ldquo;The Apache Way,&rdquo; more than 450 
individual Members and 4,000 Committers successfully collaborate to develop 
freely available enterprise-grade software, benefiting millions of users 
worldwide: thousands of software solutions are distributed under the Apache 
License; and the community actively participates in ASF mailing lists, 
mentoring initiatives, and ApacheCon, the Foundation&rsquo;s official user 
conference, trainings, and expo. The ASF is a US 501&copy;(3) charitable 
organization, funded by individual donations and corporate sponsors including 
Budget Direct, Citrix, Cloudera, Comcast, Facebook, Google, Hortonworks, HP, 
Huawei, IBM, InMotion Hosting, Matt Mullenweg, Microsoft, Pivotal, Produban, 
WANdisco, and Yahoo. 
 For more information, visit <a 
href="http://www.apache.org/";>http://www.apache.org/</a> or follow @TheASF on 
Twitter.</p>
+
+                    </article>
+                </section>
+            
+        <div class="pb-3"></div>
+        <div class="row">
+            <div class="col-12 col-md-6  text-center text-md-left">
+                
+                <a class="btn btn-link" 
href='/2015/03/cayenne-40m2-released.html'>
+                    <span class="d-block d-md-none  text-muted">Prev: </span>
+                    <i class="small  fa fa-chevron-left  mr-3l2  d-none 
d-md-inline"></i>
+                    Cayenne 4.0 Milestone 2 Released
+                </a>
+                
+            </div>
+            <div class="col-12 col-md-6  text-center text-md-right">
+                
+            </div>
+        </div>
+    </main>
+
+
+<footer class="bg-dark">
+    <div class="footer-nav container  text-center text-lg-left  pb-3">
+        <div class="row  pt-5 pb-3">
+            
+            <div class="col-sm-6 col-lg-3">
+                <h4>About</h4>
+                <ul class="list-unstyled">
+                    
+                    <li>
+                        <a href="/why-cayenne.html">Why Cayenne?</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/success-stories.html">Success Stories</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/about/support/">Support</a>
+                    </li>
+                    
+                </ul>
+            </div>
+            
+            <div class="col-sm-6 col-lg-3">
+                <h4>Documentation</h4>
+                <ul class="list-unstyled">
+                    
+                    <li>
+                        <a href="/docs/4.0/getting-started-guide/">Getting 
Started (4.0)</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/docs/4.1/getting-started-guide/">Getting 
Started (4.1)</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/docs/4.0/cayenne-guide/">Cayenne Guide 
(4.0)</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/docs/4.1/cayenne-guide/">Cayenne Guide 
(4.1)</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/docs/4.1/getting-started-db-first/">Database 
First tutorial (4.1)</a>
+                    </li>
+                    
+                </ul>
+            </div>
+            
+            <div class="col-sm-6 col-lg-3">
+                <h4>Collaboration</h4>
+                <ul class="list-unstyled">
+                    
+                    <li>
+                        <a 
href="https://issues.apache.org/jira/browse/CAY";>Bug/Feature Tracker</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/mailing-lists.html">Mailing Lists</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/dev/code-repository.html">Code Repository</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/dev/">Developer Guide</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/how-can-i-help.html">How can I help?</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/contributors.html">Contributors</a>
+                    </li>
+                    
+                </ul>
+            </div>
+            
+            <div class="col-sm-6 col-lg-3">
+                <h4>News</h4>
+                <ul class="list-multiline-items list-unstyled  mb-0">
+                    
+                    <li>
+                        <time datetime="2017-11-20 12:00:00 &#43;0300 &#43;03" 
class="xsmall d-block">Nov 20, 2017</time>
+                        <a href="/2017/11/cayenne-312-released.html">Cayenne 
3.1.2 Released</a>
+                    </li>
+                    
+                    <li>
+                        <time datetime="2017-10-14 12:00:00 &#43;0300 &#43;03" 
class="xsmall d-block">Oct 14, 2017</time>
+                        <a href="/2017/10/cayenne-41m1-released.html">Cayenne 
4.1 Milestone 1 Released</a>
+                    </li>
+                    
+                    <li>
+                        <time datetime="2017-10-06 17:38:42 &#43;0300 &#43;03" 
class="xsmall d-block">Oct 06, 2017</time>
+                        <a href="/2017/10/cayenne-40B2-released.html">Cayenne 
4.0 Beta 2 Released</a>
+                    </li>
+                    
+                </ul>
+                <a class="btn-link text-uppercase xsmall" 
href="http://cayenne.apache.org/news";>
+                    More news
+                    <i class="fa fa-lg fa-long-arrow-right" 
aria-hidden="true"></i>
+                </a>
+            </div>
+        </div>
+        <hr class="mt-0 mb-3" />
+        <p class="copy xsmall text-center  mw-75 mx-auto mb-0">
+            Copyright © 2001-2018 Apache Software Foundation. Apache Cayenne, 
Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo 
are trademarks of The Apache Software Foundation. <a 
href="http://cayenne.apache.org/privacy-policy.html";>Privacy policy</a>.
+            <img class="d-block  mx-auto mt-2" 
src="/img/logo_mono-3302daa3cf.svg" alt="Apache Cayenne" />
+        </p>
+    </div>
+</footer>
+    
+<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','https://www.google-analytics.com/analytics.js','ga');
+
+ga('create', 'UA-7036673-1', 'auto');
+ga('send', 'pageview');
+</script>
+
+    </body>
+</html>

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/e9062ca0/2015/03/cayenne-40m2-released.html
----------------------------------------------------------------------
diff --git a/2015/03/cayenne-40m2-released.html 
b/2015/03/cayenne-40m2-released.html
new file mode 100644
index 0000000..11cae3f
--- /dev/null
+++ b/2015/03/cayenne-40m2-released.html
@@ -0,0 +1,448 @@
+<!DOCTYPE html>
+<html lang="en">
+    <head>
+        <meta charset="utf-8">
+        <meta name="viewport" content="width=device-width, initial-scale=1, 
maximum-scale=1.3">
+        <link rel="shortcut icon" href="/favicon.ico" />
+        <link rel="apple-touch-icon-precomposed" 
href="/apple-touch-icon-144-precomposed.png" sizes="144x144" />
+        <link rel="stylesheet" 
href="http://cayenne.apache.org/css/styles-452af12eaa.css"/>
+        <script 
src="http://cayenne.apache.org/js/bundle-bcaaf59313.js";></script>
+        <title>Cayenne 4.0 Milestone 2 Released &middot; Apache Cayenne</title>
+    </head>
+    <body> 
+<header class="page-header">
+    <nav id="topbar" class="bg-dark" aria-label="breadcrumb" role="navigation">
+      <ul class="breadcrumb breadcrumb-sm breadcrumb-dark  container  mb-0">
+        <img class="mh-26px  mr-1" src="/img/feather-641aa69d09.svg" />
+        <li class="breadcrumb-item dropdown">
+          <a class="dropdown-toggle" href="#" id="navbarDropdown" 
role="button" data-toggle="dropdown" aria-haspopup="true" 
aria-expanded="false">Apache Software Foundation</a>
+          <div class="dropdown-menu" aria-labelledby="navbarDropdown">
+            <a class="dropdown-item" href="http://www.apache.org";>Apache 
Homepage</a>
+            <a class="dropdown-item" 
href="http://www.apache.org/licenses/";>License</a>
+            <a class="dropdown-item" 
href="http://www.apache.org/foundation/sponsorship.html";>Sponsorship</a>
+            <a class="dropdown-item" 
href="http://www.apache.org/foundation/thanks.html";>Thanks</a>
+            <a class="dropdown-item" 
href="http://www.apache.org/security/";>Security</a>
+          </div>
+        </li>
+        <li class="breadcrumb-item d-none d-lg-inline-block">Apache 
Cayenne</li>
+      </ul>
+    </nav>
+    <nav class="navbar navbar-expand-lg navbar-dark bg-primary">
+      <div class="container">
+        <a class="navbar-brand" href="http://cayenne.apache.org/";>
+           <img src="/img/logo_mono_full-d7a19eef61.svg" alt="Apache Cayenne" 
/>
+        </a>
+        <button class="navbar-toggler" type="button" data-toggle="collapse" 
data-target="#mainMenu" aria-controls="mainMenu" aria-expanded="false" 
aria-label="Toggle navigation">
+          <span class="navbar-toggler-icon"></span>
+        </button>
+
+        <div class="collapse navbar-collapse" id="mainMenu">
+          <ul class="navbar-nav  mt-3 mt-lg-0 mr-auto">
+            
+            <li class="nav-item">
+              <a class="nav-link" href="/download/">DOWNLOAD</a>
+            </li>
+            
+            <li class="nav-item">
+              <a class="nav-link" href="/docs/">DOCUMENTATION</a>
+            </li>
+            
+            <li class="nav-item">
+              <a class="nav-link" href="/about/support/">SUPPORT</a>
+            </li>
+            
+          </ul>
+          <ul class="navbar-nav  flex-row justify-content-center  mt-2 mt-lg-0 
mb-2 mb-lg-0 " id="social-links-menu">
+            <li class="nav-item  d-flex">
+              <a class="nav-link  d-flex justify-content-center 
align-items-center" href="https://github.com/apache/cayenne";>
+                <img src="/img/icon_octocat_stars-c24dac94b8.svg" alt="GitHub" 
/><span class="stargazers_count  ml-1l2"></span></a>
+            </li>
+            <li class="nav-item  d-flex">
+              <a class="nav-link  d-flex justify-content-center 
align-items-center" href="https://twitter.com/ApacheCayenne";>
+                <img src="/img/icon_twitter-220a129d14.svg" alt="Twitter" />
+              </a>
+            </li>
+          </ul>
+        </div>
+      </div>
+    </nav>
+</header>
+
+
+
+
+    <main class="container  py-5">
+        
+                <section>
+                    <article>
+                        <h1 class="text-center">Cayenne 4.0 Milestone 2 
Released<br />
+                            <small class="font-size-1rem text-muted">Mar 18, 
2015</small>
+                        </h1>
+                        
+
+<p>This is a big and important new milestone release of the development branch 
of Apache Cayenne. Existing users may have noticed that we renamed version 3.2 
to 4.0 as the scope had been vastly expanded. So 4.0.M2 is a direct successor 
of 3.2M1. There are tons of new features and bug fixes included. Below are just 
the main highlights. For more details read upgrade-guide.pdf and check out the 
full release notes further down.</p>
+
+<p>Cayenne can be downloaded from <a href="/download.html">here</a>.</p>
+
+<div class="pb-3"><!-- gap 3rem --></div>
+
+<h3 id="fluent-type-safe-query-api">Fluent Type-Safe Query API</h3>
+
+<p>Cayenne now provides a set of new fluent query classes: ObjectSelect, 
SQLSelect, SelectById. More will be coming in the future releases. Here is a 
simple example of a query selecting a single object by a given criteria:</p>
+
+<div class="highlight"><pre 
style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code
 class="language-java" data-lang="java">Artist a <span 
style="color:#f92672">=</span> ObjectSelect
+    <span style="color:#f92672">.</span><span 
style="color:#a6e22e">query</span><span 
style="color:#f92672">(</span>Artist<span style="color:#f92672">.</span><span 
style="color:#a6e22e">class</span><span style="color:#f92672">)</span>
+    <span style="color:#f92672">.</span><span 
style="color:#a6e22e">where</span><span 
style="color:#f92672">(</span>Artist<span style="color:#f92672">.</span><span 
style="color:#a6e22e">NAME</span><span style="color:#f92672">.</span><span 
style="color:#a6e22e">eq</span><span style="color:#f92672">(</span><span 
style="color:#e6db74">&#34;Picasso&#34;</span><span 
style="color:#f92672">))</span>
+    <span style="color:#f92672">.</span><span 
style="color:#a6e22e">selectOne</span><span 
style="color:#f92672">(</span>context<span 
style="color:#f92672">);</span></code></pre></div>
+
+<p>A related addition is positional bindings in Expression, SQLTemplate and 
the new query classes. Using the new API you&rsquo;ll avoid boilerplate in the 
most-commonly written Cayenne code, all this with full support for generics and 
type safety. The &ldquo;old&rdquo; style of bean-like queries (SelectQuery) is 
still supported.</p>
+
+<div class="pb-3"><!-- gap 3rem --></div>
+
+<h3 id="powerful-automated-workflow-with-cdbimport">Powerful Automated 
Workflow with &lsquo;cdbimport&rsquo;</h3>
+
+<p>&lsquo;cdbimport&rsquo; (a Maven/Ant task that generates DataMap from DB) 
was always there in Cayenne, just not very usable. In this release it was 
reworked to become a cornerstone of an automated workflow that allows you to 
keep mapping and Java classes always in sync with the underlying DB, and yet 
provide arbitrary customizations to the object layer.</p>
+
+<div class="pb-3"><!-- gap 3rem --></div>
+
+<h3 id="osgi-support">OSGI Support</h3>
+
+<p>All Cayenne runtime jars have proper OSGi manifests and can be used as OSGi 
bundles. Here is a <a 
href="https://github.com/andrus/cayenne-osgi-example";>demo</a> showing how to 
write an OSGi Cayenne app. The main trick is to add an OSGi module to Cayenne 
runtime that will take care of classloading, etc.:</p>
+
+<pre><code>Module osgiModule = 
+   
OsgiModuleBuilder.forProject(Activator.class).withDriver(Driver.class).module();
+</code></pre>
+
+<div class="pb-3"><!-- gap 3rem --></div>
+
+<h3 id="serverruntimebuilder-and-mapping-free-runtime">ServerRuntimeBuilder 
and Mapping-Free Runtime</h3>
+
+<p>We found that customizing ServerRuntime is a frequent task in most 
applications. Things like setting a proper DataSource, loading multiple 
projects into a single runtime, overriding a service here and there are all 
very common customizations. While all of those can be done via ServerRuntime 
constructor and custom DI modules, we decided to add some syntactic sugar to 
streamline configuration. Enter ServerRuntimeBuilder:</p>
+
+<pre><code>ServerRuntime runtime = new 
ServerRuntimeBuilder(&quot;myproject&quot;)
+    .addConfigs(&quot;cayenne-project1.xml&quot;, 
&quot;cayenne-project2.xml&quot;)
+    .addModule(binder -&gt; 
binder.bind(JdbcEventLogger.class).toInstance(myLogger))
+    .dataSource(myDataSource)
+    .build();
+</code></pre>
+
+<p>While we are on the topic of ServerRuntime, we now also have an ability to 
start a mapping-free runtime, which turns Cayenne into a powerful SQL execution 
stack without the ORM part (e.g. useful for unit tests).</p>
+
+<div class="pb-3"><!-- gap 3rem --></div>
+
+<h3 id="transparent-database-cryptography-with-cayenne-crypto">Transparent 
Database Cryptography with &lsquo;cayenne-crypto&rsquo;</h3>
+
+<p>Cayenne now includes <a 
href="http://search.maven.org/#artifactdetails|org.apache.cayenne|cayenne-crypto|4.0.M2|jar">cayenne-crypto.jar</a>,
 that allows you to implement seamless data encryption. With a bit of extra 
configuration (as you may have guessed - another DI module) you get automatic 
encryption/decryption of data in certain columns:</p>
+
+<pre><code>Module cryptoModule = new CryptoModuleBuilder()
+   .keyStore(&quot;file:///mykeystore&quot;, 
&quot;changeit&quot;.toCharArray(), &quot;keyalias&quot;)
+   .compress()
+   .build();
+</code></pre>
+
+<p>By default columns that start with &lsquo;CRYPTO_&rsquo; are designated as 
encrypted, but this is <a 
href="https://github.com/apache/cayenne/blob/master/cayenne-crypto/src/main/java/org/apache/cayenne/crypto/map/ColumnMapper.java";>fully
 customizable</a>. The rest of your application code doesn&rsquo;t need to 
worry about cryptography, and would look like a regular Cayenne application.</p>
+
+<div class="pb-3"><!-- gap 3rem --></div>
+
+<h3 id="di-container-decorators">DI Container Decorators</h3>
+
+<p>In addition to overriding services in DI container, now Cayenne would allow 
to supply decorators. True to the &ldquo;smallest-footprint&rdquo; DI 
philosophy, decorator approach is very simple and does not rely on proxies or 
class enhancement. Just implement the decorated interface and provide a 
constructor that takes a delegate instance being decorated:</p>
+
+<pre><code>public class MyInterfaceDecorator implements MyInterface {
+
+    private MyInterface delegate;
+
+    public MyInterfaceDecorator(@Inject MyInterface delegate) {
+        this.delegate = delegate;
+    }
+
+    @Override
+    public String getName() {
+        return &quot;&lt;&quot; + delegate.getName() + &quot;&gt;&quot;;
+    }
+}
+
+Module module = new Module() {
+
+    @Override
+    public void configure(Binder binder) {
+        binder.decorate(MyInterface.class).before(MyInterfaceDecorator.class);
+    }
+};
+</code></pre>
+
+<div class="pb-3"><!-- gap 3rem --></div>
+
+<h3 id="stability-improvements">Stability Improvements</h3>
+
+<p>We got rid of the hated &ldquo;runtime&rdquo; ObjRelationships that caused 
random issues, and fixed more than 30 other bugs.</p>
+
+<div class="pb-3"><!-- gap 3rem --></div>
+<h2 class="text-center">A full list of changes in this release:</h2>
+<div class="pb-2"><!-- gap 2rem --></div>
+
+<ul>
+<li>CAY-1267 Some changes to LogDialog</li>
+<li>CAY-1826 Merge Entity Attributes and Relationships tabs together with one 
toolbar.</li>
+<li>CAY-1839 Allow to link DataMaps to DataNodes from DataNode editor.</li>
+<li>CAY-1841 Filters for Left-hand project navigator</li>
+<li>CAY-1842 Remove Listeners support from the Modeler</li>
+<li>CAY-1843 DataMap v7: Stop saving listeners in DataMap, add upgrade 
handler</li>
+<li>CAY-1845 Upgrade javadoc plugin to 2.9.1</li>
+<li>CAY-1846 Reworking of callback mapping</li>
+<li>CAY-1847 Make ConverterFactory extensible</li>
+<li>CAY-1848 New method: ObjectContext.selectOne(Select query)</li>
+<li>CAY-1851 Generate default serialVersionUID for generated java classes to 
avoid eclipse warnings</li>
+<li>CAY-1852 Straighten thread model and synchronization in the Modeler</li>
+<li>CAY-1855 Iterated and paginated queries must print result counts</li>
+<li>CAY-1856 Expression.expWithParameters does not work when parameters are 
placed in the inline collection</li>
+<li>CAY-1860 In-memory matching of DataObjects against ObjectId or int</li>
+<li>CAY-1861 Remove runtime relationships</li>
+<li>CAY-1870 cgen - smarter default for &lsquo;superPkg&rsquo; and 
&lsquo;destDir&rsquo;</li>
+<li>CAY-1882 Porting to OSGi environment</li>
+<li>CAY-1883 Clean up Cayenne maven structure</li>
+<li>CAY-1886 cayenne-di module reorg, new exceptions</li>
+<li>CAY-1890 Remove Cayenne-level buffering when retrieving LOBs</li>
+<li>CAY-1894 Support native PK generation using sequences for H2 databases</li>
+<li>CAY-1899 ServerRuntimeBuilder</li>
+<li>CAY-1900 Allow DataNode name to be used as a root of SQLTemplate</li>
+<li>CAY-1901 Config-free ServerRuntime</li>
+<li>CAY-1904 Simple injection-friendly constructor for AuditableFilter</li>
+<li>CAY-1907 RowReaderFactory</li>
+<li>CAY-1908 Refactor all SQLActions to work with DataNode</li>
+<li>CAY-1911 BatchQuery refactoring - make Iterable</li>
+<li>CAY-1912 BatchQueryBuilder refactoring</li>
+<li>CAY-1913 Refactor org.apache.cayenne.access.trans into query-specific 
packages</li>
+<li>CAY-1914 Refactor EJBQL-related translators to a standalone 
&lsquo;org.apache.cayenne.access.translator.ejbql&rsquo; package</li>
+<li>CAY-1915 BatchTranslator instead of performing bindings should return 
binding object whose values can be altered</li>
+<li>CAY-1916 cayenne-crypto module that enables data encryption for certain 
model attributes</li>
+<li>CAY-1918 Replace Oracle LOB hacks with JDBC 4.0 API</li>
+<li>CAY-1919 Split DataNode creation into a separate DataNodeFactory</li>
+<li>CAY-1920 DI: add support for decorators</li>
+<li>CAY-1921 Support for schema selection in &lsquo;Migrate Database 
Schema&rsquo;</li>
+<li>CAY-1923 Optimize BatchTranslator - use fixed size array of 
BatchParameterBinding</li>
+<li>CAY-1925 cayenne-crypto: add optional compression to the encryption 
pipeline</li>
+<li>CAY-1928 Second INNER join generated for OUTER flattended relationships in 
disjoint prefetches</li>
+<li>CAY-1929 Property.outer method to build OUTER join properties</li>
+<li>CAY-1932 Improved Handling for Scalar Parameters Converting Expressions to 
EJBQL</li>
+<li>CAY-1933 Problems in Evaluating EJBQL Statements with Integral Literals 
&gt; Integer.MAX_VALUE</li>
+<li>CAY-1934 A problem exists where the escape character is not conveyed in 
the EJBQL when toEJBQL() is invoked on the expression.</li>
+<li>CAY-1936 ServerRuntime.getDataSource() returning DataSource of a default 
DataNode</li>
+<li>CAY-1937 Make Transaction an interface</li>
+<li>CAY-1938 Create a DI factory for transactions, get rid of 
TransactionDelegate and modeler config for tx policies</li>
+<li>CAY-1939 DataDomain must use injectable TransactionManager</li>
+<li>CAY-1946 CDbimport improvements</li>
+<li>CAY-1949 Search in configuration fields (Catalog, Schema) in DbEntity</li>
+<li>CAY-1952 Undeprecate (actually restore) ObjectContext.deleteObject(..)</li>
+<li>CAY-1953 Redo ResultIteratorCallback to handle single row callback instead 
of iterator</li>
+<li>CAY-1954 Make Cayenne class constructor protected</li>
+<li>CAY-1958 SelectById - a new full-featured select query to get objects by 
id</li>
+<li>CAY-1959 ObjectSelect query - a fluent API alternative to SelectQuery</li>
+<li>CAY-1960 ExpressionFactory.exp(..) , and(..), or(..)</li>
+<li>CAY-1962 Implement CayenneTable column resize on double-click on the 
header separator</li>
+<li>CAY-1965 Change version from 3.2 to 4.0</li>
+<li>CAY-1966 SQLTemplate/SQLSelect positional parameter binding</li>
+<li>CAY-1967 Deprecate SQLTemplate parameter batches</li>
+<li>CAY-1968 SQLSelect cleanup and omissions</li>
+<li>CAY-1971 Variants of Property.like(..) : contains(..), startsWith(..), 
endsWith(..)</li>
+<li>CAY-1972 A property to override DataSources of multi-module projects</li>
+<li>CAY-1981 Add support of JDBC 4.0 N-types (nchar, nvarchar, longnvarchar, 
nclob)</li>
+<li>CAY-1984 cdbimport doesn&rsquo;t flatten many to many relationships</li>
+</ul>
+
+<div class="pb-2"><!-- gap 2rem --></div>
+
+<h3 id="bug-fixes">Bug Fixes:</h3>
+
+<ul>
+<li>CAY-1480 Implement cross-db functional expressions</li>
+<li>CAY-1695 Unexpected null value in bidirectional one-to-one prefetch</li>
+<li>CAY-1736 IllegalArgumentException when synchronizing entities in the 
Modeler</li>
+<li>CAY-1795 &ldquo;Invisible&rdquo; ObjAttribute in subclass</li>
+<li>CAY-1796 ROP: All entity&rsquo;s to-many relationships getting faulted 
from database when using it as a parameter in qualifier expression</li>
+<li>CAY-1797 NPE importing DataMap</li>
+<li>CAY-1798 ROP: Reverse relationships of prefetched entity objects are not 
filled during server to client objects conversion</li>
+<li>CAY-1799 ROP: Server can&rsquo;t deserialize LIKE expression with pattern 
already compiled</li>
+<li>CAY-1818 Fix copyright year in the Modeler &ldquo;about&rdquo; panel</li>
+<li>CAY-1834 Exception: ToManyList cannot be cast to DataObject</li>
+<li>CAY-1857 Problem with hotkeys</li>
+<li>CAY-1859 NullPointerException when importing EOModel</li>
+<li>CAY-1863 Make determining whether a particular database type supports 
length adapter-specific not universal</li>
+<li>CAY-1866 Change in General Modeler Preferences reverts old settings to 
default value</li>
+<li>CAY-1868 Select contention with multiple contexts</li>
+<li>CAY-1869 ResultIterator from cayenne-client dependency is subclassed from 
org.apache.cayenne.access.ResultIterator which is present only in 
cayenne-server dependency</li>
+<li>CAY-1874 DB2 Procedure action ignores the first result set</li>
+<li>CAY-1877 In-memory evaluation of expression may fail with 
UnsupportedOpeartionException depending on order of nodes</li>
+<li>CAY-1880 objectStore snapshots never cleared from RefreshQuery when 
&ldquo;use shared cache&rdquo; unchecked</li>
+<li>CAY-1881 CayenneModeler (Mac version) doesn&rsquo;t work with Java 7</li>
+<li>CAY-1885 Null value in subclass&rsquo;s field.</li>
+<li>CAY-1905 Multi-step prefetching NPE : 1..N..1 with absent N and root with 
no qualifier</li>
+<li>CAY-1943 XML file not deleted when a DataMap is deleted from the 
project</li>
+<li>CAY-1961 Fix RemoveAction for DataMaps in ProjectTree</li>
+<li>CAY-1964 Fix convertAdditionalDataMaps() in CayenneGeneratorMojo.java</li>
+<li>CAY-1973 error while generating classes</li>
+<li>CAY-1974 Copy/Paste DbEntiry throws exception</li>
+<li>CAY-1978 ESCAPE clause should be included in LIKE parenthesis</li>
+<li>CAY-1979 Prefetches on Many-to-Many Relationships with Longvarchar</li>
+<li>CAY-1980 &lsquo;mvn cayenne-modeler:run&rsquo; seems to be broken in 
4.0</li>
+<li>CAY-1988 ServerRuntimeBuilder: synthetic DataNode does not have 
domain&rsquo;s DataMaps linked</li>
+</ul>
+
+                    </article>
+                </section>
+            
+        <div class="pb-3"></div>
+        <div class="row">
+            <div class="col-12 col-md-6  text-center text-md-left">
+                
+                <a class="btn btn-link" 
href='/2016/02/cayenne-40m3-released.html'>
+                    <span class="d-block d-md-none  text-muted">Prev: </span>
+                    <i class="small  fa fa-chevron-left  mr-3l2  d-none 
d-md-inline"></i>
+                    Cayenne 4.0 Milestone 3 Released
+                </a>
+                
+            </div>
+            <div class="col-12 col-md-6  text-center text-md-right">
+                
+                <a class="btn btn-link" 
href='/2014/09/cayenne-31-released.html'>
+                    <span class="d-block d-md-none  text-muted">Next: </span>
+                    The Apache Software Foundation Announces Apache™ 
Cayenne™ v3.1
+                    <i class="small  fa fa-chevron-right  ml-3l2  d-none 
d-md-inline"></i>
+                </a>
+                
+            </div>
+        </div>
+    </main>
+
+
+<footer class="bg-dark">
+    <div class="footer-nav container  text-center text-lg-left  pb-3">
+        <div class="row  pt-5 pb-3">
+            
+            <div class="col-sm-6 col-lg-3">
+                <h4>About</h4>
+                <ul class="list-unstyled">
+                    
+                    <li>
+                        <a href="/why-cayenne.html">Why Cayenne?</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/success-stories.html">Success Stories</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/about/support/">Support</a>
+                    </li>
+                    
+                </ul>
+            </div>
+            
+            <div class="col-sm-6 col-lg-3">
+                <h4>Documentation</h4>
+                <ul class="list-unstyled">
+                    
+                    <li>
+                        <a href="/docs/4.0/getting-started-guide/">Getting 
Started (4.0)</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/docs/4.1/getting-started-guide/">Getting 
Started (4.1)</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/docs/4.0/cayenne-guide/">Cayenne Guide 
(4.0)</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/docs/4.1/cayenne-guide/">Cayenne Guide 
(4.1)</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/docs/4.1/getting-started-db-first/">Database 
First tutorial (4.1)</a>
+                    </li>
+                    
+                </ul>
+            </div>
+            
+            <div class="col-sm-6 col-lg-3">
+                <h4>Collaboration</h4>
+                <ul class="list-unstyled">
+                    
+                    <li>
+                        <a 
href="https://issues.apache.org/jira/browse/CAY";>Bug/Feature Tracker</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/mailing-lists.html">Mailing Lists</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/dev/code-repository.html">Code Repository</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/dev/">Developer Guide</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/how-can-i-help.html">How can I help?</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/contributors.html">Contributors</a>
+                    </li>
+                    
+                </ul>
+            </div>
+            
+            <div class="col-sm-6 col-lg-3">
+                <h4>News</h4>
+                <ul class="list-multiline-items list-unstyled  mb-0">
+                    
+                    <li>
+                        <time datetime="2017-11-20 12:00:00 &#43;0300 &#43;03" 
class="xsmall d-block">Nov 20, 2017</time>
+                        <a href="/2017/11/cayenne-312-released.html">Cayenne 
3.1.2 Released</a>
+                    </li>
+                    
+                    <li>
+                        <time datetime="2017-10-14 12:00:00 &#43;0300 &#43;03" 
class="xsmall d-block">Oct 14, 2017</time>
+                        <a href="/2017/10/cayenne-41m1-released.html">Cayenne 
4.1 Milestone 1 Released</a>
+                    </li>
+                    
+                    <li>
+                        <time datetime="2017-10-06 17:38:42 &#43;0300 &#43;03" 
class="xsmall d-block">Oct 06, 2017</time>
+                        <a href="/2017/10/cayenne-40B2-released.html">Cayenne 
4.0 Beta 2 Released</a>
+                    </li>
+                    
+                </ul>
+                <a class="btn-link text-uppercase xsmall" 
href="http://cayenne.apache.org/news";>
+                    More news
+                    <i class="fa fa-lg fa-long-arrow-right" 
aria-hidden="true"></i>
+                </a>
+            </div>
+        </div>
+        <hr class="mt-0 mb-3" />
+        <p class="copy xsmall text-center  mw-75 mx-auto mb-0">
+            Copyright © 2001-2018 Apache Software Foundation. Apache Cayenne, 
Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo 
are trademarks of The Apache Software Foundation. <a 
href="http://cayenne.apache.org/privacy-policy.html";>Privacy policy</a>.
+            <img class="d-block  mx-auto mt-2" 
src="/img/logo_mono-3302daa3cf.svg" alt="Apache Cayenne" />
+        </p>
+    </div>
+</footer>
+    
+<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','https://www.google-analytics.com/analytics.js','ga');
+
+ga('create', 'UA-7036673-1', 'auto');
+ga('send', 'pageview');
+</script>
+
+    </body>
+</html>

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/e9062ca0/2016/02/cayenne-40m3-released.html
----------------------------------------------------------------------
diff --git a/2016/02/cayenne-40m3-released.html 
b/2016/02/cayenne-40m3-released.html
new file mode 100644
index 0000000..0c2d6fa
--- /dev/null
+++ b/2016/02/cayenne-40m3-released.html
@@ -0,0 +1,351 @@
+<!DOCTYPE html>
+<html lang="en">
+    <head>
+        <meta charset="utf-8">
+        <meta name="viewport" content="width=device-width, initial-scale=1, 
maximum-scale=1.3">
+        <link rel="shortcut icon" href="/favicon.ico" />
+        <link rel="apple-touch-icon-precomposed" 
href="/apple-touch-icon-144-precomposed.png" sizes="144x144" />
+        <link rel="stylesheet" 
href="http://cayenne.apache.org/css/styles-452af12eaa.css"/>
+        <script 
src="http://cayenne.apache.org/js/bundle-bcaaf59313.js";></script>
+        <title>Cayenne 4.0 Milestone 3 Released &middot; Apache Cayenne</title>
+    </head>
+    <body> 
+<header class="page-header">
+    <nav id="topbar" class="bg-dark" aria-label="breadcrumb" role="navigation">
+      <ul class="breadcrumb breadcrumb-sm breadcrumb-dark  container  mb-0">
+        <img class="mh-26px  mr-1" src="/img/feather-641aa69d09.svg" />
+        <li class="breadcrumb-item dropdown">
+          <a class="dropdown-toggle" href="#" id="navbarDropdown" 
role="button" data-toggle="dropdown" aria-haspopup="true" 
aria-expanded="false">Apache Software Foundation</a>
+          <div class="dropdown-menu" aria-labelledby="navbarDropdown">
+            <a class="dropdown-item" href="http://www.apache.org";>Apache 
Homepage</a>
+            <a class="dropdown-item" 
href="http://www.apache.org/licenses/";>License</a>
+            <a class="dropdown-item" 
href="http://www.apache.org/foundation/sponsorship.html";>Sponsorship</a>
+            <a class="dropdown-item" 
href="http://www.apache.org/foundation/thanks.html";>Thanks</a>
+            <a class="dropdown-item" 
href="http://www.apache.org/security/";>Security</a>
+          </div>
+        </li>
+        <li class="breadcrumb-item d-none d-lg-inline-block">Apache 
Cayenne</li>
+      </ul>
+    </nav>
+    <nav class="navbar navbar-expand-lg navbar-dark bg-primary">
+      <div class="container">
+        <a class="navbar-brand" href="http://cayenne.apache.org/";>
+           <img src="/img/logo_mono_full-d7a19eef61.svg" alt="Apache Cayenne" 
/>
+        </a>
+        <button class="navbar-toggler" type="button" data-toggle="collapse" 
data-target="#mainMenu" aria-controls="mainMenu" aria-expanded="false" 
aria-label="Toggle navigation">
+          <span class="navbar-toggler-icon"></span>
+        </button>
+
+        <div class="collapse navbar-collapse" id="mainMenu">
+          <ul class="navbar-nav  mt-3 mt-lg-0 mr-auto">
+            
+            <li class="nav-item">
+              <a class="nav-link" href="/download/">DOWNLOAD</a>
+            </li>
+            
+            <li class="nav-item">
+              <a class="nav-link" href="/docs/">DOCUMENTATION</a>
+            </li>
+            
+            <li class="nav-item">
+              <a class="nav-link" href="/about/support/">SUPPORT</a>
+            </li>
+            
+          </ul>
+          <ul class="navbar-nav  flex-row justify-content-center  mt-2 mt-lg-0 
mb-2 mb-lg-0 " id="social-links-menu">
+            <li class="nav-item  d-flex">
+              <a class="nav-link  d-flex justify-content-center 
align-items-center" href="https://github.com/apache/cayenne";>
+                <img src="/img/icon_octocat_stars-c24dac94b8.svg" alt="GitHub" 
/><span class="stargazers_count  ml-1l2"></span></a>
+            </li>
+            <li class="nav-item  d-flex">
+              <a class="nav-link  d-flex justify-content-center 
align-items-center" href="https://twitter.com/ApacheCayenne";>
+                <img src="/img/icon_twitter-220a129d14.svg" alt="Twitter" />
+              </a>
+            </li>
+          </ul>
+        </div>
+      </div>
+    </nav>
+</header>
+
+
+
+
+    <main class="container  py-5">
+        
+                <section>
+                    <article>
+                        <h1 class="text-center">Cayenne 4.0 Milestone 3 
Released<br />
+                            <small class="font-size-1rem text-muted">Feb 12, 
2016</small>
+                        </h1>
+                        
+
+<p>This new milestone release has plenty of new features, bug fixes and other 
improvements. Below are just the main highlights. For more details check out 
the full release notes further down, as well as <a 
href="https://github.com/apache/cayenne/blob/4.0.M3/docs/doc/src/main/resources/UPGRADE.txt";>UPGRADE.txt</a>.</p>
+
+<p>Cayenne can be downloaded from <a href="/download.html">here</a>.</p>
+
+<div class="pb-3"><!-- gap 3rem --></div>
+
+<h3 id="java-7">Java 7</h3>
+
+<p>Since this milestone minimal Java version is 1.7. If you still need Java 
1.6, you can use Cayenne 3.1 or 4.0.M2 until your application is able to 
upgrade.</p>
+
+<div class="pb-3"><!-- gap 3rem --></div>
+
+<h3 id="java-8-date-time-and-joda-time-support">Java 8 Date/Time and Joda-Time 
Support</h3>
+
+<p>Cayenne now has two additional modules that contain ExtendedTypes for Java 
8 Date/Time and Joda-Time support. You will need to add appropriate dependency 
and then create a coresponding module and add it to the ServerRuntime. For 
example:</p>
+
+<pre><code>Module java8Module = new CayenneJava8Module();
+this.runtime = new ServerRuntime(&quot;cayenne-project.xml&quot;, java8Module);
+</code></pre>
+
+<div class="pb-3"><!-- gap 3rem --></div>
+
+<h3 id="improvements-in-query-api">Improvements in Query API</h3>
+
+<p>All new fluent query classes (ObjectSelect, SQLSelect, SelectById) have the 
following new methods:</p>
+
+<ul>
+<li><code>List&lt;T&gt; select(ObjectContext context);</code></li>
+<li><code>T selectOne(ObjectContext context);</code></li>
+<li><code>T selectFirst(ObjectContext context);</code></li>
+<li><code>void iterate(ObjectContext context, ResultIteratorCallback&lt;T&gt; 
callback);</code></li>
+<li><code>ResultIterator&lt;T&gt; iterator(ObjectContext context);</code></li>
+<li><code>ResultBatchIterator&lt;T&gt; batchIterator(ObjectContext context, 
int size);</code></li>
+</ul>
+
+<p>The &ldquo;old&rdquo; style SelectQuery is still supported and also 
includes these methods.</p>
+
+<p>Also ResultIterator and ResultBatchIterator are both AutoCloseable now. So 
you will be able to use try-with-resources with them.</p>
+
+<div class="pb-3"><!-- gap 3rem --></div>
+
+<h3 id="non-blocking-datasource">Non-blocking DataSource</h3>
+
+<p>Default Cayenne DataSource provider is switched to a non-blocking 
implementation that has a much better concurrency compared to the old 
version.</p>
+
+<div class="pb-3"><!-- gap 3rem --></div>
+
+<h3 id="dbcp2">DBCP2</h3>
+
+<p>DBCPDataSourceFactory is now based on DBCP2 (which is required under Java 
1.7 and newer). If you are using it, you will need to take a few steps to 
upgrade. For more details see <a 
href="https://github.com/apache/cayenne/blob/4.0.M3/docs/doc/src/main/resources/UPGRADE.txt";>UPGRADE.txt</a>.</p>
+
+<div class="pb-3"><!-- gap 3rem --></div>
+
+<h3 id="capturing-a-stream-of-commit-changes">Capturing a stream of commit 
changes</h3>
+
+<p>Sometimes it is very useful to capture all or parts of &ldquo;commit 
log&rdquo; for commits made through Cayenne (for audit purposes, etc). It has 
always been a challenge to do it in a consistent and convenient manner. 
We&rsquo;ve made a few attempts to solve this before. M3 features new and the 
most comprehensive solution. There is a <a 
href="https://github.com/apache/cayenne/blob/4.0.M3/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/postcommit/PostCommitModuleBuilder.java";>PostCommitBuilder</a>
 class that helps to create a special DI module with all required extensions 
for this to work. It allows to register <a 
href="https://github.com/apache/cayenne/blob/4.0.M3/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/postcommit/PostCommitListener.java";>PostCommitListeners</a>
 that will receive an event on every commit, containing a full commit log 
object.</p>
+
+<div class="pb-3"><!-- gap 3rem --></div>
+<h2 class="text-center">A full list of changes in this release:</h2>
+<div class="pb-2"><!-- gap 2rem --></div>
+
+<ul>
+<li>CAY-1626 Add JodaTime DateTime support</li>
+<li>CAY-1902 Implement resolving Db paths for DataObjects</li>
+<li>CAY-1991 More control over generated String property names</li>
+<li>CAY-1992 Allow to exclude DataMap java class from Modeler class 
generation</li>
+<li>CAY-1995 Add support for iterators to Select</li>
+<li>CAY-2001 Saving a display state of Project</li>
+<li>CAY-2004 EJBQL: Support for ordering on aggregate expressions</li>
+<li>CAY-2007 Refactoring SelectTranslator for better extensibility</li>
+<li>CAY-2008 Connection pool refactoring and validation query support in 
Cayenne DataSource</li>
+<li>CAY-2009 Non-blocking connection pool</li>
+<li>CAY-2010 DataSourceBuilder to help users create pooling and non-pooling 
DataSources</li>
+<li>CAY-2011 Support for Java 8 date and time types</li>
+<li>CAY-2012 ObjectSelect, SelectById: eliminating methods that reset query 
state</li>
+<li>CAY-2013 In-memory evaluation of DB expressions - non-id attributes</li>
+<li>CAY-2023 Decouple the use of ResourceLocator</li>
+<li>CAY-2025 Support for DBCP2</li>
+<li>CAY-2026 Java 7</li>
+<li>CAY-2027 Support for Expression outer join syntax in EJBQL</li>
+<li>CAY-2028 Wrap DataChannelFilter calls in the main transaction</li>
+<li>CAY-2029 Allow out-of-order insertion into DI lists</li>
+<li>CAY-2030 Capturing a stream of commit changes</li>
+<li>CAY-2035 Autobind items added to collections (Cayenne DI)</li>
+<li>CAY-2042 Remove an arbitrary limitation on 1000 runtime 
DbRelationships</li>
+<li>CAY-2043 ServerRuntimeBuilder: use DataDomain name for the default 
DataNode</li>
+<li>CAY-2044 Collection setter for to-many relationships</li>
+<li>CAY-2045 Add autosuggestion fields to choose attributes and 
relationships</li>
+</ul>
+
+<div class="pb-2"><!-- gap 2rem --></div>
+
+<h3 id="bug-fixes">Bug Fixes:</h3>
+
+<ul>
+<li>CAY-1977 Cleanup Modeler reverse engineering functionality</li>
+<li>CAY-1987 Widen types before performing in-memory evaluation of qualifiers 
using j.l.Number subclasses</li>
+<li>CAY-1990 Incorrect display of the raw SQL query in Modeler</li>
+<li>CAY-1993 Reverse Engineering does not work with PostgreSQL database</li>
+<li>CAY-1994 Modeler Migration Tool Shows No Changes</li>
+<li>CAY-1997 Difference in NULL handling inside the path between PropertyUtils 
and DataObject.readNestedProperty</li>
+<li>CAY-1998 Speeding up PropertyUtils</li>
+<li>CAY-1999 Unneeded Property import for superclasses with no properties</li>
+<li>CAY-2003 cdbimport doesn&rsquo;t work properly with several includeTable 
tags</li>
+<li>CAY-2015 Joint prefetches combined with DisjointById prefetches return 
null incorrectly</li>
+<li>CAY-2020 typo: correction to upper alpha range in Rot13PasswordEncoder</li>
+<li>CAY-2041 &ldquo;cayenne.jdbc.max_connections&rdquo; and 
&ldquo;cayenne.jdbc.min_connections&rdquo; command line options are ignored</li>
+<li>CAY-2047 Relationship mapping with target inheritance</li>
+<li>CAY-2049 Changing the Relationship name in ObjRelationship Inspector has 
no effect</li>
+</ul>
+
+                    </article>
+                </section>
+            
+        <div class="pb-3"></div>
+        <div class="row">
+            <div class="col-12 col-md-6  text-center text-md-left">
+                
+                <a class="btn btn-link" 
href='/2016/05/cayenne-311-released.html'>
+                    <span class="d-block d-md-none  text-muted">Prev: </span>
+                    <i class="small  fa fa-chevron-left  mr-3l2  d-none 
d-md-inline"></i>
+                    Cayenne 3.1.1 Released
+                </a>
+                
+            </div>
+            <div class="col-12 col-md-6  text-center text-md-right">
+                
+                <a class="btn btn-link" 
href='/2015/03/cayenne-40m2-released.html'>
+                    <span class="d-block d-md-none  text-muted">Next: </span>
+                    Cayenne 4.0 Milestone 2 Released
+                    <i class="small  fa fa-chevron-right  ml-3l2  d-none 
d-md-inline"></i>
+                </a>
+                
+            </div>
+        </div>
+    </main>
+
+
+<footer class="bg-dark">
+    <div class="footer-nav container  text-center text-lg-left  pb-3">
+        <div class="row  pt-5 pb-3">
+            
+            <div class="col-sm-6 col-lg-3">
+                <h4>About</h4>
+                <ul class="list-unstyled">
+                    
+                    <li>
+                        <a href="/why-cayenne.html">Why Cayenne?</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/success-stories.html">Success Stories</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/about/support/">Support</a>
+                    </li>
+                    
+                </ul>
+            </div>
+            
+            <div class="col-sm-6 col-lg-3">
+                <h4>Documentation</h4>
+                <ul class="list-unstyled">
+                    
+                    <li>
+                        <a href="/docs/4.0/getting-started-guide/">Getting 
Started (4.0)</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/docs/4.1/getting-started-guide/">Getting 
Started (4.1)</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/docs/4.0/cayenne-guide/">Cayenne Guide 
(4.0)</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/docs/4.1/cayenne-guide/">Cayenne Guide 
(4.1)</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/docs/4.1/getting-started-db-first/">Database 
First tutorial (4.1)</a>
+                    </li>
+                    
+                </ul>
+            </div>
+            
+            <div class="col-sm-6 col-lg-3">
+                <h4>Collaboration</h4>
+                <ul class="list-unstyled">
+                    
+                    <li>
+                        <a 
href="https://issues.apache.org/jira/browse/CAY";>Bug/Feature Tracker</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/mailing-lists.html">Mailing Lists</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/dev/code-repository.html">Code Repository</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/dev/">Developer Guide</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/how-can-i-help.html">How can I help?</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/contributors.html">Contributors</a>
+                    </li>
+                    
+                </ul>
+            </div>
+            
+            <div class="col-sm-6 col-lg-3">
+                <h4>News</h4>
+                <ul class="list-multiline-items list-unstyled  mb-0">
+                    
+                    <li>
+                        <time datetime="2017-11-20 12:00:00 &#43;0300 &#43;03" 
class="xsmall d-block">Nov 20, 2017</time>
+                        <a href="/2017/11/cayenne-312-released.html">Cayenne 
3.1.2 Released</a>
+                    </li>
+                    
+                    <li>
+                        <time datetime="2017-10-14 12:00:00 &#43;0300 &#43;03" 
class="xsmall d-block">Oct 14, 2017</time>
+                        <a href="/2017/10/cayenne-41m1-released.html">Cayenne 
4.1 Milestone 1 Released</a>
+                    </li>
+                    
+                    <li>
+                        <time datetime="2017-10-06 17:38:42 &#43;0300 &#43;03" 
class="xsmall d-block">Oct 06, 2017</time>
+                        <a href="/2017/10/cayenne-40B2-released.html">Cayenne 
4.0 Beta 2 Released</a>
+                    </li>
+                    
+                </ul>
+                <a class="btn-link text-uppercase xsmall" 
href="http://cayenne.apache.org/news";>
+                    More news
+                    <i class="fa fa-lg fa-long-arrow-right" 
aria-hidden="true"></i>
+                </a>
+            </div>
+        </div>
+        <hr class="mt-0 mb-3" />
+        <p class="copy xsmall text-center  mw-75 mx-auto mb-0">
+            Copyright © 2001-2018 Apache Software Foundation. Apache Cayenne, 
Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo 
are trademarks of The Apache Software Foundation. <a 
href="http://cayenne.apache.org/privacy-policy.html";>Privacy policy</a>.
+            <img class="d-block  mx-auto mt-2" 
src="/img/logo_mono-3302daa3cf.svg" alt="Apache Cayenne" />
+        </p>
+    </div>
+</footer>
+    
+<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','https://www.google-analytics.com/analytics.js','ga');
+
+ga('create', 'UA-7036673-1', 'auto');
+ga('send', 'pageview');
+</script>
+
+    </body>
+</html>

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/e9062ca0/2016/05/cayenne-311-released.html
----------------------------------------------------------------------
diff --git a/2016/05/cayenne-311-released.html 
b/2016/05/cayenne-311-released.html
new file mode 100644
index 0000000..0b14714
--- /dev/null
+++ b/2016/05/cayenne-311-released.html
@@ -0,0 +1,267 @@
+<!DOCTYPE html>
+<html lang="en">
+    <head>
+        <meta charset="utf-8">
+        <meta name="viewport" content="width=device-width, initial-scale=1, 
maximum-scale=1.3">
+        <link rel="shortcut icon" href="/favicon.ico" />
+        <link rel="apple-touch-icon-precomposed" 
href="/apple-touch-icon-144-precomposed.png" sizes="144x144" />
+        <link rel="stylesheet" 
href="http://cayenne.apache.org/css/styles-452af12eaa.css"/>
+        <script 
src="http://cayenne.apache.org/js/bundle-bcaaf59313.js";></script>
+        <title>Cayenne 3.1.1 Released &middot; Apache Cayenne</title>
+    </head>
+    <body> 
+<header class="page-header">
+    <nav id="topbar" class="bg-dark" aria-label="breadcrumb" role="navigation">
+      <ul class="breadcrumb breadcrumb-sm breadcrumb-dark  container  mb-0">
+        <img class="mh-26px  mr-1" src="/img/feather-641aa69d09.svg" />
+        <li class="breadcrumb-item dropdown">
+          <a class="dropdown-toggle" href="#" id="navbarDropdown" 
role="button" data-toggle="dropdown" aria-haspopup="true" 
aria-expanded="false">Apache Software Foundation</a>
+          <div class="dropdown-menu" aria-labelledby="navbarDropdown">
+            <a class="dropdown-item" href="http://www.apache.org";>Apache 
Homepage</a>
+            <a class="dropdown-item" 
href="http://www.apache.org/licenses/";>License</a>
+            <a class="dropdown-item" 
href="http://www.apache.org/foundation/sponsorship.html";>Sponsorship</a>
+            <a class="dropdown-item" 
href="http://www.apache.org/foundation/thanks.html";>Thanks</a>
+            <a class="dropdown-item" 
href="http://www.apache.org/security/";>Security</a>
+          </div>
+        </li>
+        <li class="breadcrumb-item d-none d-lg-inline-block">Apache 
Cayenne</li>
+      </ul>
+    </nav>
+    <nav class="navbar navbar-expand-lg navbar-dark bg-primary">
+      <div class="container">
+        <a class="navbar-brand" href="http://cayenne.apache.org/";>
+           <img src="/img/logo_mono_full-d7a19eef61.svg" alt="Apache Cayenne" 
/>
+        </a>
+        <button class="navbar-toggler" type="button" data-toggle="collapse" 
data-target="#mainMenu" aria-controls="mainMenu" aria-expanded="false" 
aria-label="Toggle navigation">
+          <span class="navbar-toggler-icon"></span>
+        </button>
+
+        <div class="collapse navbar-collapse" id="mainMenu">
+          <ul class="navbar-nav  mt-3 mt-lg-0 mr-auto">
+            
+            <li class="nav-item">
+              <a class="nav-link" href="/download/">DOWNLOAD</a>
+            </li>
+            
+            <li class="nav-item">
+              <a class="nav-link" href="/docs/">DOCUMENTATION</a>
+            </li>
+            
+            <li class="nav-item">
+              <a class="nav-link" href="/about/support/">SUPPORT</a>
+            </li>
+            
+          </ul>
+          <ul class="navbar-nav  flex-row justify-content-center  mt-2 mt-lg-0 
mb-2 mb-lg-0 " id="social-links-menu">
+            <li class="nav-item  d-flex">
+              <a class="nav-link  d-flex justify-content-center 
align-items-center" href="https://github.com/apache/cayenne";>
+                <img src="/img/icon_octocat_stars-c24dac94b8.svg" alt="GitHub" 
/><span class="stargazers_count  ml-1l2"></span></a>
+            </li>
+            <li class="nav-item  d-flex">
+              <a class="nav-link  d-flex justify-content-center 
align-items-center" href="https://twitter.com/ApacheCayenne";>
+                <img src="/img/icon_twitter-220a129d14.svg" alt="Twitter" />
+              </a>
+            </li>
+          </ul>
+        </div>
+      </div>
+    </nav>
+</header>
+
+
+
+
+    <main class="container  py-5">
+        
+                <section>
+                    <article>
+                        <h1 class="text-center">Cayenne 3.1.1 Released<br />
+                            <small class="font-size-1rem text-muted">May 16, 
2016</small>
+                        </h1>
+                        
+
+<p>This new maintenance release has a few major bug fixes and improvements.
+It can be downloaded from <a href="/download.html">here</a>.</p>
+
+<div class="pb-3"><!-- gap 3rem --></div>
+<h2 class="text-center">A full list of changes in this release:</h2>
+<div class="pb-2"><!-- gap 2rem --></div>
+
+<ul>
+<li>CAY-1862 MySQL - allow specifying a length for TIMESTAMP and TIME 
columns</li>
+<li>CAY-2042 Remove an arbitrary limitation on 1000 runtime 
DbRelationships</li>
+</ul>
+
+<div class="pb-2"><!-- gap 2rem --></div>
+
+<h3 id="bug-fixes">Bug Fixes:</h3>
+
+<ul>
+<li>CAY-1863 Make determining whether a particular database type supports 
length adapter-specific not universal</li>
+<li>CAY-1964 Fix convertAdditionalDataMaps() in CayenneGeneratorMojo.java</li>
+<li>CAY-1973 error while generating classes</li>
+<li>CAY-1978 ESCAPE clause should be included in LIKE parenthesis</li>
+<li>CAY-1979 Prefetches on Many-to-Many Relationships with Longvarchar</li>
+<li>CAY-2047 Relationship mapping with target inheritance</li>
+<li>CAY-2049 Changing the Relationship name in ObjRelationship Inspector has 
no effect</li>
+<li>CAY-2066 Memory leak in ExtendedTypeMap for inner classes</li>
+</ul>
+
+                    </article>
+                </section>
+            
+        <div class="pb-3"></div>
+        <div class="row">
+            <div class="col-12 col-md-6  text-center text-md-left">
+                
+                <a class="btn btn-link" 
href='/2016/12/cayenne-40M4-released.html'>
+                    <span class="d-block d-md-none  text-muted">Prev: </span>
+                    <i class="small  fa fa-chevron-left  mr-3l2  d-none 
d-md-inline"></i>
+                    Cayenne 4.0 Milestone 4 Released
+                </a>
+                
+            </div>
+            <div class="col-12 col-md-6  text-center text-md-right">
+                
+                <a class="btn btn-link" 
href='/2016/02/cayenne-40m3-released.html'>
+                    <span class="d-block d-md-none  text-muted">Next: </span>
+                    Cayenne 4.0 Milestone 3 Released
+                    <i class="small  fa fa-chevron-right  ml-3l2  d-none 
d-md-inline"></i>
+                </a>
+                
+            </div>
+        </div>
+    </main>
+
+
+<footer class="bg-dark">
+    <div class="footer-nav container  text-center text-lg-left  pb-3">
+        <div class="row  pt-5 pb-3">
+            
+            <div class="col-sm-6 col-lg-3">
+                <h4>About</h4>
+                <ul class="list-unstyled">
+                    
+                    <li>
+                        <a href="/why-cayenne.html">Why Cayenne?</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/download/">Download</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/success-stories.html">Success Stories</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/about/support/">Support</a>
+                    </li>
+                    
+                </ul>
+            </div>
+            
+            <div class="col-sm-6 col-lg-3">
+                <h4>Documentation</h4>
+                <ul class="list-unstyled">
+                    
+                    <li>
+                        <a href="/docs/4.0/getting-started-guide/">Getting 
Started (4.0)</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/docs/4.1/getting-started-guide/">Getting 
Started (4.1)</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/docs/4.0/cayenne-guide/">Cayenne Guide 
(4.0)</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/docs/4.1/cayenne-guide/">Cayenne Guide 
(4.1)</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/docs/4.1/getting-started-db-first/">Database 
First tutorial (4.1)</a>
+                    </li>
+                    
+                </ul>
+            </div>
+            
+            <div class="col-sm-6 col-lg-3">
+                <h4>Collaboration</h4>
+                <ul class="list-unstyled">
+                    
+                    <li>
+                        <a 
href="https://issues.apache.org/jira/browse/CAY";>Bug/Feature Tracker</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/mailing-lists.html">Mailing Lists</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/dev/code-repository.html">Code Repository</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/dev/">Developer Guide</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/how-can-i-help.html">How can I help?</a>
+                    </li>
+                    
+                    <li>
+                        <a href="/contributors.html">Contributors</a>
+                    </li>
+                    
+                </ul>
+            </div>
+            
+            <div class="col-sm-6 col-lg-3">
+                <h4>News</h4>
+                <ul class="list-multiline-items list-unstyled  mb-0">
+                    
+                    <li>
+                        <time datetime="2017-11-20 12:00:00 &#43;0300 &#43;03" 
class="xsmall d-block">Nov 20, 2017</time>
+                        <a href="/2017/11/cayenne-312-released.html">Cayenne 
3.1.2 Released</a>
+                    </li>
+                    
+                    <li>
+                        <time datetime="2017-10-14 12:00:00 &#43;0300 &#43;03" 
class="xsmall d-block">Oct 14, 2017</time>
+                        <a href="/2017/10/cayenne-41m1-released.html">Cayenne 
4.1 Milestone 1 Released</a>
+                    </li>
+                    
+                    <li>
+                        <time datetime="2017-10-06 17:38:42 &#43;0300 &#43;03" 
class="xsmall d-block">Oct 06, 2017</time>
+                        <a href="/2017/10/cayenne-40B2-released.html">Cayenne 
4.0 Beta 2 Released</a>
+                    </li>
+                    
+                </ul>
+                <a class="btn-link text-uppercase xsmall" 
href="http://cayenne.apache.org/news";>
+                    More news
+                    <i class="fa fa-lg fa-long-arrow-right" 
aria-hidden="true"></i>
+                </a>
+            </div>
+        </div>
+        <hr class="mt-0 mb-3" />
+        <p class="copy xsmall text-center  mw-75 mx-auto mb-0">
+            Copyright © 2001-2018 Apache Software Foundation. Apache Cayenne, 
Cayenne, Apache, the Apache feather logo, and the Apache Cayenne project logo 
are trademarks of The Apache Software Foundation. <a 
href="http://cayenne.apache.org/privacy-policy.html";>Privacy policy</a>.
+            <img class="d-block  mx-auto mt-2" 
src="/img/logo_mono-3302daa3cf.svg" alt="Apache Cayenne" />
+        </p>
+    </div>
+</footer>
+    
+<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','https://www.google-analytics.com/analytics.js','ga');
+
+ga('create', 'UA-7036673-1', 'auto');
+ga('send', 'pageview');
+</script>
+
+    </body>
+</html>

Reply via email to