http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/e9062ca0/2016/12/cayenne-40M4-released.html
----------------------------------------------------------------------
diff --git a/2016/12/cayenne-40M4-released.html 
b/2016/12/cayenne-40M4-released.html
new file mode 100644
index 0000000..a797074
--- /dev/null
+++ b/2016/12/cayenne-40M4-released.html
@@ -0,0 +1,408 @@
+<!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 4 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 4 
Released<br />
+                            <small class="font-size-1rem text-muted">Dec 31, 
2016</small>
+                        </h1>
+                        
+
+<p>Apache Cayenne team is glad to announce the latest milestone of Cayenne - 
4.0.M. The new release features a number of important things:</p>
+
+<ul>
+<li>Stabilizes database reverse-engineering tools for DB-first ORM flow.</li>
+<li>Plugs holes and omissions in the fluent query API.</li>
+<li>Expands encryption capabilities to all data types.</li>
+<li>Improves transaction management API.</li>
+<li>Provides alternative binary protocols for ROP, greatly improving its 
performance.</li>
+<li>Includes a new Modeler welcome screen.</li>
+<li>Fixes numerous bugs, updates docs, etc., etc.</li>
+</ul>
+
+<p>Cayenne can be downloaded from <a href="/download.html">here</a>. Make sure 
to consult <a 
href="https://github.com/apache/cayenne/blob/4.0.M4/docs/doc/src/main/resources/UPGRADE.txt";>UPGRADE.txt</a>
 file before updating.</p>
+
+<p>Before we start discussing individual features, a few words on the future 
development effort. Cayenne 4.0 is quickly approaching &ldquo;beta&rdquo; 
status. There&rsquo;s a good chance that the following release will be 
feature-complete and we will enter &ldquo;beta&rdquo; and associated code 
freeze of the runtime framework.</p>
+
+<p>Now the new things in a bit more detail:</p>
+
+<div class="pb-3"><!-- gap 3rem --></div>
+
+<h3 id="fluent-query-api">Fluent query API</h3>
+
+<p>These fluent queries are new in M4:</p>
+
+<p><em>SQLExec</em></p>
+
+<pre><code>// insert
+int inserted = SQLExec.query(&quot;INSERT INTO ARTIST (ARTIST_ID, ARTIST_NAME) 
&quot; + 
+  &quot;VALUES (#bind($id), #bind($name))&quot;)
+  .paramsArray(55, &quot;a3&quot;)
+  .update(context);
+
+// update
+int updated = SQLExec
+  .query(&quot;UPDATE ARTIST SET ARTIST_NAME = 'b3' WHERE ARTIST_NAME = 
'a3'&quot;)
+  .update(context);
+</code></pre>
+
+<p><em>MappedSelect</em></p>
+
+<pre><code>List&lt;Artist&gt; artists = 
MappedSelect.query(&quot;SelectArtists&quot;, Artist.class)
+  .param(&quot;name&quot;, &quot;artist1&quot;)
+  .select(context);
+</code></pre>
+
+<p><em>MappedExec</em></p>
+
+<pre><code>int[] updated = 
MappedExec.query(&quot;UpdateArtists&quot;).param(&quot;name&quot;, 
&quot;artist2&quot;).update(context);
+</code></pre>
+
+<p><em>ProcedureCall</em></p>
+
+<pre><code>// select
+List&lt;Artist&gt; artists = ProcedureCall.query(&quot;select_sp&quot;, 
Artist.class)
+                .param(&quot;name&quot;, &quot;Artist&quot;)
+                .param(&quot;paintingPrice&quot;, 3000)
+                .limit(2).select(context);
+
+// update
+int updated = ProcedureCall.query(&quot;update_sp&quot;)
+                .param(&quot;paintingPrice&quot;, 3000).update(context);
+
+// call and get out parameters
+int outParam = ProcedureCall.query(&quot;out_sp&quot;)
+                .param(&quot;name&quot;, &quot;Artist&quot;)
+                .call(context).getOutParam(&quot;artist_out&quot;);
+</code></pre>
+
+<div class="pb-3"><!-- gap 3rem --></div>
+
+<h3 id="reverse-engineering-improvements">Reverse Engineering Improvements</h3>
+
+<p>There are a lot of improvements and bug fixes covering reverse engineering 
functionality (aka &ldquo;DB-first flow&rdquo;). There&rsquo;s still more work 
to do to make it perfect, but the API is starting to stabilize and the tools 
have already become very usable (as in actually used in production on many 
projects). Follow this <a 
href="/docs/4.0/cayenne-guide/cayenne-guide-part4.html">link</a> to learn what 
DB-First flow is all about and how to use it.</p>
+
+<div class="pb-3"><!-- gap 3rem --></div>
+
+<h3 id="cayenne-crypto-improvements">Cayenne Crypto Improvements</h3>
+
+<p>We&rsquo;ve aded support for mapping encrypted columns to numbers, Strings, 
etc.</p>
+
+<div class="pb-3"><!-- gap 3rem --></div>
+
+<h3 id="transaction-control">Transaction control</h3>
+
+<p>Added TransactionListener to allow for better control of manual 
transactions.</p>
+
+<div class="pb-3"><!-- gap 3rem --></div>
+
+<h3 id="rop-improvements">ROP Improvements</h3>
+
+<p>With M4 it&rsquo;s much easier to plug external tools for ROP connectivity 
and serialization purposes. Jetty HTTP/1.1 and HTTP/2 Client and Protostuff 
have been already added to the Cayenne and are supported out of the box.</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-2051 Applying new Reverse Engineering to the Modeler</li>
+<li>CAY-2053 SQLExec fluent query API</li>
+<li>CAY-2060 Replace Query objects in DataMap with query descriptors</li>
+<li>CAY-2062 MappedSelect and MappedExec fluent query API</li>
+<li>CAY-2063 ProcedureCall fluent query API</li>
+<li>CAY-2065 Pluggable serialization and connectivity layers for ROP</li>
+<li>CAY-2073 Ordering.orderedList methods</li>
+<li>CAY-2074 Support for catalogs in stored procedures</li>
+<li>CAY-2076 Implement Jetty HTTP/1.1 and HTTP/2 Client support for ROP 
Client</li>
+<li>CAY-2083 Implement Protostuff as serialization service for Cayenne ROP</li>
+<li>CAY-2090 Untangle HttpRemoteService from ServiceContext thread local 
setup</li>
+<li>CAY-2100 Add supporting generated keys for PostgreSQL</li>
+<li>CAY-2102 EJBQL: db: path not supported in select columns</li>
+<li>CAY-2103 cayenne-crypto: support for mapping non-String and non-binary 
types</li>
+<li>CAY-2106 cayenne-crypto: allow DI contribution of type converters inside 
ValueTransformerFactory</li>
+<li>CAY-2107 cayenne-crypto: Lazy initialization of crypto subsystem</li>
+<li>CAY-2111 Unbind transaction object from the current thread for iterated 
queries</li>
+<li>CAY-2112 Expose callback for &ldquo;performInTransaction&rdquo;</li>
+<li>CAY-2113 cdbimport: Reverse-engineering reinstates previously ignored 
columns</li>
+<li>CAY-2114 cdbimport: object layer settings are not respected</li>
+<li>CAY-2115 DbLoader - allow loading DataMap without Obj layer</li>
+<li>CAY-2116 Split schema synchronization code in a separate module</li>
+<li>CAY-2118 cdbimport: drop support for the old style of table filtering</li>
+<li>CAY-2129 Modeler: reengineer dialog improvements</li>
+<li>CAY-2130 Stripping common name prefixes on reverse engineering</li>
+<li>CAY-2132 Adding SybaseSelectTranslator to support TOP/DISTINCT TOP in 
limited queries</li>
+<li>CAY-2133 ObjectNameGenerator refactoring - unifying relationship name 
generation</li>
+<li>CAY-2135 cdbimport: reset DbEntity catalogs / schemas to DataMap 
defaults</li>
+<li>CAY-2136 Allow Ordering.orderedList(…) methods to accept a Collection 
rather than only a List</li>
+<li>CAY-2160 Modeler: new welcome screen</li>
+</ul>
+
+<div class="pb-2"><!-- gap 2rem --></div>
+
+<h4 id="bug-fixes">Bug Fixes:</h4>
+
+<ul>
+<li>CAY-2016 cdbimport: Rename table with toMany relationship causes migration 
error</li>
+<li>CAY-2064 Issue with BeanAccessor for classes with complex inheritance</li>
+<li>CAY-2066 Fixes for inner enums handling in ExtendedTypeMap</li>
+<li>CAY-2067 Cayenne 4.0 connection pool is occasionally running out of 
connections</li>
+<li>CAY-2070 Modeler sync function adds extraneous ObjRelationships inside the 
class hierarchy</li>
+<li>CAY-2078 Client code gen bug. Unnecessary DataMap class generation setting 
datamap gen to false.</li>
+<li>CAY-2080 Cayenne doesn&rsquo;t pick up reverse engineering file 
changes</li>
+<li>CAY-2084 ObjectIdQuery - no cache access polymorphism</li>
+<li>CAY-2086 SelectById.selectFirst stack overflow</li>
+<li>CAY-2087 PostCommitFilter is confused about changes made by Pre 
listeners</li>
+<li>CAY-2089 HTTP connections aren&rsquo;t always closed in new ROP 
implementation</li>
+<li>CAY-2097 NullPointerException while updating relationships for entities 
with vertical inheritance</li>
+<li>CAY-2101 DataContext.currentSnapshot() doesn&rsquo;t set snapshot entity 
name</li>
+<li>CAY-2105 Add missing elements to the reverseEngineering.xsd</li>
+<li>CAY-2108 cayenne-di: StackOverflow for decorator that takes Provider of 
the delegate</li>
+<li>CAY-2110 Obfuscated exception when processing iterated results</li>
+<li>CAY-2119 ProjectUpgrader test failure (Windows)</li>
+<li>CAY-2122 Vertical Inheritance: Cannot Insert Record For Implementing Class 
with Attribute And Relationship</li>
+<li>CAY-2125 SchemaUpdateStrategy doesn&rsquo;t work with multiple 
DataNodes</li>
+<li>CAY-2126 Modeler cannot upgrade project from v7 to v9</li>
+<li>CAY-2128 Modeler stored procedures are not imported</li>
+<li>CAY-2131 Modeler NullPointerException in reverse engineering when 
importing different catalogs in one datamap</li>
+<li>CAY-2138 NVARCHAR, LONGNVARCHAR and NCLOB types are missing from Firebird 
types.xml</li>
+<li>CAY-2141 Disjoint-by-id prefetch generates repeating ID conditions</li>
+<li>CAY-2143 NPE in BaseSchemaUpdateStrategy</li>
+<li>CAY-2144 cdbimport always fails for databases which don&rsquo;t support 
catalogs</li>
+<li>CAY-2146 Vertical inheritance: record still inserted into parent db table 
when child validation fails</li>
+<li>CAY-2148 Failure upgrading from 3.1 to M4</li>
+<li>CAY-2150 UI bug: PK generation custom sequence is getting reset</li>
+<li>CAY-2151 Migrate Database Schema: issue when no db is specified</li>
+<li>CAY-2153 Modeler Exception in save action after reverse engineering some 
complex DB schema</li>
+<li>CAY-2154 Migrate db: queries order</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='/2017/03/cayenne-40M5-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 5 Released
+                </a>
+                
+            </div>
+            <div class="col-12 col-md-6  text-center text-md-right">
+                
+                <a class="btn btn-link" 
href='/2016/05/cayenne-311-released.html'>
+                    <span class="d-block d-md-none  text-muted">Next: </span>
+                    Cayenne 3.1.1 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/2017/03/cayenne-40M5-released.html
----------------------------------------------------------------------
diff --git a/2017/03/cayenne-40M5-released.html 
b/2017/03/cayenne-40M5-released.html
new file mode 100644
index 0000000..75c2dbb
--- /dev/null
+++ b/2017/03/cayenne-40M5-released.html
@@ -0,0 +1,358 @@
+<!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 5 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 5 
Released<br />
+                            <small class="font-size-1rem text-muted">Mar 07, 
2017</small>
+                        </h1>
+                        
+
+<p>Apache Cayenne team is glad to announce the latest milestone of Cayenne - 
4.0.M5.
+The new release features a number of important things:</p>
+
+<ul>
+<li>New fluent API for SQL functions (including long-awaited 
<strong>aggregate</strong> functions).</li>
+<li>Auto-loading of additional Cayenne modules.</li>
+<li>New JCache module that allows to easily include any compatible cache 
provider.</li>
+<li>Further improvements and stabilization of database reverse-engineering 
tools.</li>
+<li>Fixes bugs, updates docs, etc.</li>
+</ul>
+
+<p>Cayenne can be downloaded from <a href="/download.html">here</a>. Make sure 
to consult <a 
href="https://github.com/apache/cayenne/blob/4.0.M5/docs/doc/src/main/resources/UPGRADE.txt";>UPGRADE.txt</a>
 file before updating.</p>
+
+<p>Before we start discussing individual features, a few words on the future 
development effort.
+Cayenne 4.0 is quickly approaching &ldquo;beta&rdquo; status. There&rsquo;s a 
good chance that the following release will be
+feature-complete and we will enter &ldquo;beta&rdquo; and associated code 
freeze of the runtime framework.</p>
+
+<p>Now the new things in a bit more detail:</p>
+
+<div class="pb-3"><!-- gap 3rem --></div>
+
+<h3 id="fluent-query-api">Fluent query API</h3>
+
+<p>These great additions to Fluent API are new in M5:</p>
+
+<p><em>ColumnSelect</em></p>
+
+<pre><code>List&lt;String&gt; names = ObjectSelect.query(Artist.class)
+                     .column(Artist.ARTIST_NAME).select(context);
+</code></pre>
+
+<p><em>Aggregate Functions</em></p>
+
+<pre><code>// easy way to select count
+long count = ObjectSelect.query(Artist.class).selectCount(context);
+</code></pre>
+
+<p><em>GROUP BY .. HAVING</em></p>
+
+<pre><code>Property&lt;Double&gt; minPrice = 
Artist.PAINTING_ARRAY.dot(Painting.ESTIMATED_PRICE).min();
+
+// Object[0] is a name (String)
+// Object[1] is a price (Double)
+// GROUP BY clause is generated automatically based on the query semantics
+List&lt;Object[]&gt; nameAndMinPrice = ObjectSelect.query(Artist.class)
+                    .columns(Artist.ARTIST_NAME, minPrice)
+                    .having(minPrice.gt(2000.0))
+                    .select(context);
+</code></pre>
+
+<p><em>SQL Functions</em></p>
+
+<pre><code>Property&lt;Integer&gt; nameLength = Artist.ARTIST_NAME.length();
+List&lt;Artist&gt; artists = ObjectSelect.query(Artist.class, nameLength.gt(5))
+                        .select(context);
+</code></pre>
+
+<div class="pb-3"><!-- gap 3rem --></div>
+    
+
+<h3 id="reverse-engineering-improvements">Reverse Engineering Improvements</h3>
+
+<p>We pushed DB reverse engineering functionality further. This time in 
addition to clearing bugs and perform smoother importing
+we changed cdbimport plugin configuration to make it clearer and ready for 
future improvements we have in mind.</p>
+
+<p>The plugin itself has changed it&rsquo;s name to 
<em>&ldquo;cayenne-maven-plugin&rdquo;</em>, so now you can use short commands 
like the following:</p>
+
+<pre><code>mvn cayenne:cdbimport
+</code></pre>
+
+<p><strong><em>Important note</em></strong>: please refer to <a 
href="https://github.com/apache/cayenne/blob/4.0.M5/docs/doc/src/main/resources/UPGRADE.txt";>UPGRADE.txt</a>
 for detailed changes in <em>cdbimport</em> configuration.</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><a href="https://issues.apache.org/jira/browse/CAY-2139";>CAY-2139</a> 
Upgrade HSQLDB dependency to the most recent version (2.3.4)</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2150";>CAY-2150</a> 
Refactoring: ParameterBinding to contain ExtendedType property</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2163";>CAY-2163</a> 
Property.path() , ExpressionFactory.pathExp()</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2164";>CAY-2164</a> 
Relocate builder bootstrap methods from ServerRuntimeBuilder to 
ServerRuntime</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2165";>CAY-2165</a> 
Explicit &ldquo;contribution&rdquo; API for easier expansion of DI collections 
and maps</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2166";>CAY-2166</a> 
Auto-loading of Cayenne modules</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2168";>CAY-2168</a> 
Split DbLoader to parts and clean it up</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2169";>CAY-2169</a> 
Split DbMerger to parts and clean it up</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2170";>CAY-2170</a> 
MergeToken sorting is highly unstable</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2172";>CAY-2172</a> 
Cleanup Modeler import and migrate db actions</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2176";>CAY-2176</a> Java 
7 diamond class generation templates</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2177";>CAY-2177</a> Sync 
auto generated state of PK between model and DB</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2187";>CAY-2187</a> 
Support for the scalar and aggregate SQL functions in ObjectSelect API</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2197";>CAY-2197</a> 
Update sqlite version and enable in-memory default config</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2212";>CAY-2212</a> 
cdbimport cleanup and configuration schema refactoring</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2223";>CAY-2223</a> 
JCacheQueryCache - a query cache provider to plug in JCache implementers</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2225";>CAY-2225</a> 
Extensible CacheInvalidationFilter logic</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2228";>CAY-2228</a> 
Deprecate multiple cache groups in caching and query API</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2231";>CAY-2231</a> 
Support for collections in new functional expressions and old math 
expressions</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2232";>CAY-2232</a> 
Proper conversion to String for new functional expressions</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2235";>CAY-2235</a> 
Deprecate Query.getDataMap() method</li>
+</ul>
+
+<div class="pb-2"><!-- gap 2rem --></div>
+
+<h4 id="bug-fixes">Bug Fixes:</h4>
+
+<ul>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2032";>CAY-2032</a> 
SelectAction: DistinctResultIterator ignores flattened relationships</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2137";>CAY-2137</a> When 
generating SQL from EJBQL, use &ldquo;AND&rdquo; to separate multiple join 
conditions</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2174";>CAY-2174</a> 
Change FK attribute name cause ObjAttribute appear after Reverse 
Engineering</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2175";>CAY-2175</a> 
AliasName used in EJBQLQuery is not working if it contains mixed case</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2183";>CAY-2183</a> 
Newly created DbRelationship is unexpectedly renamed by the Modeler</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2199";>CAY-2199</a> 
Modeler on Windows: The same project is displayed twice in &ldquo;Recent 
Projects&rdquo;</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2207";>CAY-2207</a> 
Modeler: &ldquo;Java Type&rdquo; and &ldquo;DbAttribute Path&rdquo; are not 
saved with using TAB to move forward</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2221";>CAY-2221</a> 
In-memory expression evaluation gives different result than select query</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2236";>CAY-2236</a> 
Modeler Migrate DB Schema: unable to Reverse All Operations</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2238";>CAY-2238</a> 
Modeler: Preserve manually set DbRelationship name when syncing with 
ObjEntity</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2242";>CAY-2242</a> 
Vertical Inheritance: Cannot Insert Record For Implementing Class with 
Attribute And Relationship</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='/2017/06/cayenne-40B1-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 Beta 1 Released
+                </a>
+                
+            </div>
+            <div class="col-12 col-md-6  text-center text-md-right">
+                
+                <a class="btn btn-link" 
href='/2016/12/cayenne-40M4-released.html'>
+                    <span class="d-block d-md-none  text-muted">Next: </span>
+                    Cayenne 4.0 Milestone 4 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/2017/06/cayenne-40B1-released.html
----------------------------------------------------------------------
diff --git a/2017/06/cayenne-40B1-released.html 
b/2017/06/cayenne-40B1-released.html
new file mode 100644
index 0000000..ee54ff5
--- /dev/null
+++ b/2017/06/cayenne-40B1-released.html
@@ -0,0 +1,343 @@
+<!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 Beta 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 4.0 Beta 1 Released<br 
/>
+                            <small class="font-size-1rem text-muted">Jun 12, 
2017</small>
+                        </h1>
+                        
+
+<p>Apache Cayenne team is glad to announce a beta release of Cayenne 4.0. What 
this means for our users is
+that now the API is frozen and it is safe to try it out even if you are not 
usually confortable living
+on the bleeding edge of unstable releases. We&rsquo;d like to hear from you 
about your upgrade experiences.
+And of course we&rsquo;ll strive to fix any remaining bugs before 4.0 goes 
final. To give you more confidence,
+we&rsquo;d like to mention that most of the Cayenne developers have been using 
4.0 in production for years.</p>
+
+<p>From now on the 4.0 branch will concentrate on bug fixes, Modeler 
improvements, documentation, web site
+and other such things.</p>
+
+<p>We are planning to publish a more detailed 4.0 comparision with 3.1 
shortly. For now let&rsquo;s take a look at
+things that have changed since the late milestone - M5:</p>
+
+<ul>
+<li>A native <strong>Gradle Plugin</strong>.</li>
+<li>Fresh <strong>Modeler design</strong> (along with many small UI 
improvements and bug fixes).</li>
+<li>A switch from <em>commons-logging</em> to <strong><em>SLF4J</em></strong> 
API</li>
+<li>Optional <strong>HMAC</strong> in crypto module</li>
+<li>Numerous bug fixes, updated docs, etc.</li>
+</ul>
+
+<p>Cayenne can be downloaded from <a 
href="http://cayenne.apache.org/download/";>here</a>. Make sure to consult <a 
href="https://github.com/apache/cayenne/blob/4.0.B1/docs/doc/src/main/resources/UPGRADE.txt";>UPGRADE.txt</a>
 file before updating.</p>
+
+<p>BTW, here is an example of the Gradle plugin use :</p>
+
+<pre><code>buildscript {
+    repositories {
+        mavenCentral()
+    }
+    dependencies {
+        classpath group: 'org.apache.cayenne.plugins', name: 
'cayenne-gradle-plugin', version: '4.0.B1'
+    }
+}
+
+apply plugin: 'org.apache.cayenne'
+
+cayenne.defaultDataMap 'datamap.map.xml'
+
+dependencies {
+    compile cayenne.dependency('server')
+    compile cayenne.dependency('java8')
+}
+</code></pre>
+
+<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><a href="https://issues.apache.org/jira/browse/CAY-1873";>CAY-1873</a> Move 
DataDomain cache configuration from the Modeler and into DI</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-1891";>CAY-1891</a> 
Modeler: Add To-Many Warning</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-1892";>CAY-1892</a> 
Modeler: Add Relationship Data Type Warning</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2057";>CAY-2057</a> 
Modeler: Clean up OS X version</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2109";>CAY-2109</a> 
cayenne-crypto: add value authentication (HMAC)</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2210";>CAY-2210</a> 
Query cache: incorrect cache key for queries with custom value objects</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2255";>CAY-2255</a> 
ObjectSelect improvement: columns as full entities</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2258";>CAY-2258</a> DI: 
type-safe binding of List and Map</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2259";>CAY-2259</a> 
QueryCache: support for referencing type-safe caches</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2261";>CAY-2261</a> 
Replace NamedQuery with MappedXYZ in *datamap.vm</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2262";>CAY-2262</a> 
Module auto-loading</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2266";>CAY-2266</a> Move 
EventBridge implementations into autoloadable modules</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2267";>CAY-2267</a> 
Contribute lifecycle events listeners via DI</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2268";>CAY-2268</a> DI: 
Refactor ListBuilder API ambiguities for before() / after() bindings</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2269";>CAY-2269</a> Add 
support for date/time components extraction in expression functions</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2270";>CAY-2270</a> 
Update function support in expression parser</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2271";>CAY-2271</a> 
ColumnSelect: support for prefetch and limit</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2272";>CAY-2272</a> 
ColumnSelect: methods to manually control DISTINCT clause</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2274";>CAY-2274</a> 
Modeler: Validate case when dependent PK is marked as “generated”</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2277";>CAY-2277</a> 
Create ClientRuntime with ClientRuntimeBuilder just like ServerRuntime</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2278";>CAY-2278</a> 
Extract cayenne-postcommit module from cayenne-lifecycle</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2280";>CAY-2280</a> 
Switch from commons-logging to slf4j</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2295";>CAY-2295</a> 
&ldquo;Sync ObjEntity with DbEntity&rdquo; and &ldquo;View related 
DbEntity&rdquo; buttons aren&rsquo;t disabled, if DbEntity doesn&rsquo;t have 
ObjEntity</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2296";>CAY-2296</a> 
cayenne-crypto: Get java type for DbAttribute bound to ObjAttributes with the 
same type</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2300";>CAY-2300</a> 
Modeler: New icons and design improvements</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2302";>CAY-2302</a> 
Rename postcommit module and its content to commitlog</li>
+</ul>
+
+<div class="pb-2"><!-- gap 2rem --></div>
+
+<h3 id="bug-fixes">Bug Fixes:</h3>
+
+<ul>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2021";>CAY-2021</a> 
cdbimport: detect when same FK constraint is defined twice</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2077";>CAY-2077</a> Bug 
in CayenneRuntimeException using wrong specified string in Formatter</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2094";>CAY-2094</a> 
SelectById query doesn&rsquo;t work from ROP client</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2161";>CAY-2161</a> 
&lsquo;Not for Client Use&rsquo; option is ignored at Class Generation</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2171";>CAY-2171</a> 
Modeler: Undo db Entity Sync throws error</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2208";>CAY-2208</a> 
SQLTemplate: LEFT JOIN to a subset of a table returns nulls for entries that 
don&rsquo;t have a match in the subset</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2230";>CAY-2230</a> 
Error using connection to postgresql with db schema in DB URL</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2240";>CAY-2240</a> 
Modeler: issue with cursor rendering for EJBQL query</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2243";>CAY-2243</a> 
ObjectContext.getGraphManager().unregisterObject() inconsistencies</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2250";>CAY-2250</a> 
Remove: Incorrect text in Confirm Remove message when cursor is set on 
attribute row</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2256";>CAY-2256</a> 
Cannot Save/Insert an Object With null Flattened (complex) toOne Relationship 
(see also <a 
href="https://issues.apache.org/jira/browse/CAY-2146";>CAY-2146</a>)</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2265";>CAY-2265</a> 
ServerRuntime.builder() fails to set default runtime name when a the project 
file doesn&rsquo;t follow recognized pattern</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2273";>CAY-2273</a> 
Modeler: default suggested cgen location is rooted in subpackage</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2275";>CAY-2275</a> 
Documentation: tutorial is out of sync with 4.0.M5 version</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2276";>CAY-2276</a> 
PrePersist listener registered as PostPersist in 
LifecycleCallbackRegistry.addListener(Class&lt;?&gt;, LifecycleListener)</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2279";>CAY-2279</a> 
cdbimport: skip PK comparison for VIEWs</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2281";>CAY-2281</a> 
ObjEntity attribute overrides are never deleted</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2284";>CAY-2284</a> 
Expression likeIgnoreCase can&rsquo;t handle unicode chars in in-memory 
evaluation</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2286";>CAY-2286</a> 
Filter out inherited ObjEntities from sync with DbEntity</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2326";>CAY-2326</a> DI: 
can&rsquo;t override List/Map elements from another Module</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='/2017/10/cayenne-40B2-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 Beta 2 Released
+                </a>
+                
+            </div>
+            <div class="col-12 col-md-6  text-center text-md-right">
+                
+                <a class="btn btn-link" 
href='/2017/03/cayenne-40M5-released.html'>
+                    <span class="d-block d-md-none  text-muted">Next: </span>
+                    Cayenne 4.0 Milestone 5 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/2017/10/cayenne-40B2-released.html
----------------------------------------------------------------------
diff --git a/2017/10/cayenne-40B2-released.html 
b/2017/10/cayenne-40B2-released.html
new file mode 100644
index 0000000..082ee8e
--- /dev/null
+++ b/2017/10/cayenne-40B2-released.html
@@ -0,0 +1,266 @@
+<!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 Beta 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 Beta 2 Released<br 
/>
+                            <small class="font-size-1rem text-muted">Oct 06, 
2017</small>
+                        </h1>
+                        <p>Apache Cayenne team is glad to announce a beta 2 
release of Cayenne 4.0.
+While API is frozen it includes only bug fixes and documentation updates.</p>
+
+<p>Cayenne 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><a href="https://issues.apache.org/jira/browse/CAY-2319";>CAY-2319</a> 
Modeler: Embeddable &gt; Attributes. Undo does not cancel pasted objects</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2321";>CAY-2321</a> 
cdbimport: Reverse relationship is not created after adding and rev 
engineeering new db table</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2323";>CAY-2323</a> 
Modeler: Graph. No warning while saving the image with existing name</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2331";>CAY-2331</a> 
cgen: broken templates for data map</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2347";>CAY-2347</a> 
cdbimport: can&rsquo;t get all relationships on the first pass</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2349";>CAY-2349</a> 
Cache issue: &lsquo;SelectQuery&rsquo; with prefetches loses relationships</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2350";>CAY-2350</a> 
Expression: NotIn with empty collection returns empty result</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2353";>CAY-2353</a> 
Broken paginated column select with only one entity in the result</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2354";>CAY-2354</a> 
DbGenerator.runGenerator must commit its connection</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2356";>CAY-2356</a> 
EJBQL: Incorrect COUNT() on outer joined table</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2357";>CAY-2357</a> 
Generic select queries silently convert result to nulls if no PK column 
found</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2358";>CAY-2358</a> NPE 
when callbacks invoked on null objects</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2359";>CAY-2359</a> 
EJBQL: db path in not supported in ORDER BY</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2362";>CAY-2362</a> 
ColumnSelect: unable to use Property without type</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2363";>CAY-2363</a> 
ColumnSelect: unable to use from nested context</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2366";>CAY-2366</a> 
Incorrect EJBQL COUNT translation</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='/2017/10/cayenne-41m1-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.1 Milestone 1 Released
+                </a>
+                
+            </div>
+            <div class="col-12 col-md-6  text-center text-md-right">
+                
+                <a class="btn btn-link" 
href='/2017/06/cayenne-40B1-released.html'>
+                    <span class="d-block d-md-none  text-muted">Next: </span>
+                    Cayenne 4.0 Beta 1 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/2017/10/cayenne-41m1-released.html
----------------------------------------------------------------------
diff --git a/2017/10/cayenne-41m1-released.html 
b/2017/10/cayenne-41m1-released.html
new file mode 100644
index 0000000..7fa16df
--- /dev/null
+++ b/2017/10/cayenne-41m1-released.html
@@ -0,0 +1,302 @@
+<!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.1 Milestone 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 4.1 Milestone 1 
Released<br />
+                            <small class="font-size-1rem text-muted">Oct 14, 
2017</small>
+                        </h1>
+                        
+
+<p>Apache Cayenne team is glad to announce the first milestone release of 
Cayenne 4.1.
+This is a development release that introduces a number of nice new major 
features:</p>
+
+<ul>
+<li>New field-based data objects (see <a 
href="https://issues.apache.org/jira/browse/CAY-2330";>CAY-2330</a>),
+that are much faster to read and write, while significantly reducing the app 
memory footprint.</li>
+<li>Dependency-free Cayenne core. No more velocity or commons-collections 
compile dependencies. Only &ldquo;slf4j-api&rdquo; is required in the base 
config.</li>
+<li>New extensible project XML structure. In M1 we are using this to store 
comments for entities, attributes and relationships.
+Future milestones will add storing configuration for cdbimport and cgen.</li>
+</ul>
+
+<p>Cayenne 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>
+
+<h4 id="changes-new-features">Changes/New Features:</h4>
+
+<ul>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2152";>CAY-2152</a> 
Redesign project file upgrade system</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2329";>CAY-2329</a> 
Update project dependencies</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2330";>CAY-2330</a> 
Field based data objects</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2335";>CAY-2335</a> New 
XML loading/saving mechanics with support of plugable handlers</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2336";>CAY-2336</a> 
Support for comments in Modeler</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2339";>CAY-2339</a> 
Compatibility module to support old versions of projects at runtime</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2344";>CAY-2344</a> 
Modeler: Save ER-Graph and class diagram</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2345";>CAY-2345</a> Own 
template renderer as a replacement for Velocity</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2346";>CAY-2346</a> 
Field-based data object with Map-based storage fallback</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2351";>CAY-2351</a> 
Remove commons-collections usage completely</li>
+</ul>
+
+<div class="pb-2"><!-- gap 2rem --></div>
+
+<h4 id="bug-fixes">Bug Fixes:</h4>
+
+<ul>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2312";>CAY-2312</a> 
Modeler: Undo does not work for checkboxes</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2318";>CAY-2318</a> 
Modeler: Query. Exception after Undo clicking</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2319";>CAY-2319</a> 
Modeler: Embeddable &gt; Attributes. Undo does not cancel pasted objects</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2321";>CAY-2321</a> 
cdbimport: Reverse relationship is not created after adding and rev 
engineeering new db table</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2323";>CAY-2323</a> 
Modeler: Graph. No warning while saving the image with existing name</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2331";>CAY-2331</a> 
cgen: broken templates for data map</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2347";>CAY-2347</a> 
cdbimport: can&rsquo;t get all relationships on the first pass</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2349";>CAY-2349</a> 
Cache issue: &lsquo;SelectQuery&rsquo; with prefetches loses relationships</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2350";>CAY-2350</a> 
Expression: NotIn with empty collection returns empty result</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2353";>CAY-2353</a> 
Broken paginated column select with only one entity in the result</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2354";>CAY-2354</a> 
DbGenerator.runGenerator must commit its connection</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2356";>CAY-2356</a> 
EJBQL: Incorrect COUNT() on outer joined table</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2357";>CAY-2357</a> 
Generic select queries silently convert result to nulls if no PK column 
found</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2358";>CAY-2358</a> NPE 
when callbacks invoked on null objects</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2359";>CAY-2359</a> 
EJBQL: db path in not supported in ORDER BY</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2361";>CAY-2361</a> 
PostgreSQL DbGenerator issues</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2362";>CAY-2362</a> 
ColumnSelect: unable to use Property without type</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2363";>CAY-2363</a> 
ColumnSelect: unable to use from nested context</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2364";>CAY-2364</a> 
Wrong logging in SQLTemplate</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2365";>CAY-2365</a> 
SQLExec query tries to convert (unexpected) result set into objects</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2366";>CAY-2366</a> 
Incorrect EJBQL COUNT translation</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2367";>CAY-2367</a> 
ClassCastException reading object with an attribute of type 
&lsquo;char&rsquo;</li>
+<li><a href="https://issues.apache.org/jira/browse/CAY-2368";>CAY-2368</a> 
ColumnSelect: Property.self() translates into wrong SQL code</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='/2017/11/cayenne-312-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.2 Released
+                </a>
+                
+            </div>
+            <div class="col-12 col-md-6  text-center text-md-right">
+                
+                <a class="btn btn-link" 
href='/2017/10/cayenne-40B2-released.html'>
+                    <span class="d-block d-md-none  text-muted">Next: </span>
+                    Cayenne 4.0 Beta 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>

Reply via email to