You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by nt...@apache.org on 2017/12/29 10:25:55 UTC

[50/51] [partial] cayenne-website git commit: New technical and visual design

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/d6657b82/.gitignore
----------------------------------------------------------------------
diff --git a/.gitignore b/.gitignore
index 45c1505..86d29c0 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,11 @@
-_site
-.sass-cache
-.jekyll-metadata
+.idea
+*.iml
+*.cloud
+*.cloudf
+.DS_Store
+target
+src/main/assets/node
+src/main/assets/node_modules
+src/main/site/static/js
+src/main/site/static/css
+src/main/site/static/img

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/d6657b82/.ruby-version
----------------------------------------------------------------------
diff --git a/.ruby-version b/.ruby-version
deleted file mode 100644
index 005119b..0000000
--- a/.ruby-version
+++ /dev/null
@@ -1 +0,0 @@
-2.4.1

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/d6657b82/Gemfile
----------------------------------------------------------------------
diff --git a/Gemfile b/Gemfile
deleted file mode 100644
index 79f4358..0000000
--- a/Gemfile
+++ /dev/null
@@ -1,27 +0,0 @@
-source "https://rubygems.org"
-ruby RUBY_VERSION
-
-# Hello! This is where you manage which Jekyll version is used to run.
-# When you want to use a different version, change it below, save the
-# file and run `bundle install`. Run Jekyll with `bundle exec`, like so:
-#
-#     bundle exec jekyll serve
-#
-# This will help ensure the proper Jekyll version is running.
-# Happy Jekylling!
-gem "jekyll", "3.4.3"
-
-# This is the default theme for new Jekyll sites. You may change this to anything you like.
-# gem "minima", "~> 2.0"
-
-
-group :jekyll_plugins do
-	# gem "jekyll-feed", "~> 0.6"
-	gem 'jekyll-sass-converter'
-	gem 'jekyll-sitemap'
-	gem 'jekyll-redirect-from'
-	gem 'wdm', '~> 0.1.0' if Gem.win_platform?
-end
-
-# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
-gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/d6657b82/Gemfile.lock
----------------------------------------------------------------------
diff --git a/Gemfile.lock b/Gemfile.lock
deleted file mode 100644
index da0ff91..0000000
--- a/Gemfile.lock
+++ /dev/null
@@ -1,65 +0,0 @@
-GEM
-  remote: https://rubygems.org/
-  specs:
-    addressable (2.5.1)
-      public_suffix (~> 2.0, >= 2.0.2)
-    colorator (1.1.0)
-    ffi (1.9.18)
-    ffi (1.9.18-x86-mingw32)
-    forwardable-extended (2.6.0)
-    jekyll (3.4.3)
-      addressable (~> 2.4)
-      colorator (~> 1.0)
-      jekyll-sass-converter (~> 1.0)
-      jekyll-watch (~> 1.1)
-      kramdown (~> 1.3)
-      liquid (~> 3.0)
-      mercenary (~> 0.3.3)
-      pathutil (~> 0.9)
-      rouge (~> 1.7)
-      safe_yaml (~> 1.0)
-    jekyll-redirect-from (0.12.1)
-      jekyll (~> 3.3)
-    jekyll-sass-converter (1.5.0)
-      sass (~> 3.4)
-    jekyll-sitemap (1.1.1)
-      jekyll (~> 3.3)
-    jekyll-watch (1.5.0)
-      listen (~> 3.0, < 3.1)
-    kramdown (1.13.2)
-    liquid (3.0.6)
-    listen (3.0.8)
-      rb-fsevent (~> 0.9, >= 0.9.4)
-      rb-inotify (~> 0.9, >= 0.9.7)
-    mercenary (0.3.6)
-    pathutil (0.14.0)
-      forwardable-extended (~> 2.6)
-    public_suffix (2.0.5)
-    rb-fsevent (0.9.8)
-    rb-inotify (0.9.8)
-      ffi (>= 0.5.0)
-    rouge (1.11.1)
-    safe_yaml (1.0.4)
-    sass (3.4.24)
-    thread_safe (0.3.6)
-    tzinfo (1.2.3)
-      thread_safe (~> 0.1)
-    tzinfo-data (1.2017.2)
-      tzinfo (>= 1.0.0)
-
-PLATFORMS
-  ruby
-  x86-mingw32
-
-DEPENDENCIES
-  jekyll (= 3.4.3)
-  jekyll-redirect-from
-  jekyll-sass-converter
-  jekyll-sitemap
-  tzinfo-data
-
-RUBY VERSION
-   ruby 2.4.1p111
-
-BUNDLED WITH
-   1.14.6

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/d6657b82/LICENSE.txt
----------------------------------------------------------------------
diff --git a/LICENSE.txt b/LICENSE.txt
new file mode 100644
index 0000000..7a4a3ea
--- /dev/null
+++ b/LICENSE.txt
@@ -0,0 +1,202 @@
+
+                                 Apache License
+                           Version 2.0, January 2004
+                        http://www.apache.org/licenses/
+
+   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+   1. Definitions.
+
+      "License" shall mean the terms and conditions for use, reproduction,
+      and distribution as defined by Sections 1 through 9 of this document.
+
+      "Licensor" shall mean the copyright owner or entity authorized by
+      the copyright owner that is granting the License.
+
+      "Legal Entity" shall mean the union of the acting entity and all
+      other entities that control, are controlled by, or are under common
+      control with that entity. For the purposes of this definition,
+      "control" means (i) the power, direct or indirect, to cause the
+      direction or management of such entity, whether by contract or
+      otherwise, or (ii) ownership of fifty percent (50%) or more of the
+      outstanding shares, or (iii) beneficial ownership of such entity.
+
+      "You" (or "Your") shall mean an individual or Legal Entity
+      exercising permissions granted by this License.
+
+      "Source" form shall mean the preferred form for making modifications,
+      including but not limited to software source code, documentation
+      source, and configuration files.
+
+      "Object" form shall mean any form resulting from mechanical
+      transformation or translation of a Source form, including but
+      not limited to compiled object code, generated documentation,
+      and conversions to other media types.
+
+      "Work" shall mean the work of authorship, whether in Source or
+      Object form, made available under the License, as indicated by a
+      copyright notice that is included in or attached to the work
+      (an example is provided in the Appendix below).
+
+      "Derivative Works" shall mean any work, whether in Source or Object
+      form, that is based on (or derived from) the Work and for which the
+      editorial revisions, annotations, elaborations, or other modifications
+      represent, as a whole, an original work of authorship. For the purposes
+      of this License, Derivative Works shall not include works that remain
+      separable from, or merely link (or bind by name) to the interfaces of,
+      the Work and Derivative Works thereof.
+
+      "Contribution" shall mean any work of authorship, including
+      the original version of the Work and any modifications or additions
+      to that Work or Derivative Works thereof, that is intentionally
+      submitted to Licensor for inclusion in the Work by the copyright owner
+      or by an individual or Legal Entity authorized to submit on behalf of
+      the copyright owner. For the purposes of this definition, "submitted"
+      means any form of electronic, verbal, or written communication sent
+      to the Licensor or its representatives, including but not limited to
+      communication on electronic mailing lists, source code control systems,
+      and issue tracking systems that are managed by, or on behalf of, the
+      Licensor for the purpose of discussing and improving the Work, but
+      excluding communication that is conspicuously marked or otherwise
+      designated in writing by the copyright owner as "Not a Contribution."
+
+      "Contributor" shall mean Licensor and any individual or Legal Entity
+      on behalf of whom a Contribution has been received by Licensor and
+      subsequently incorporated within the Work.
+
+   2. Grant of Copyright License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      copyright license to reproduce, prepare Derivative Works of,
+      publicly display, publicly perform, sublicense, and distribute the
+      Work and such Derivative Works in Source or Object form.
+
+   3. Grant of Patent License. Subject to the terms and conditions of
+      this License, each Contributor hereby grants to You a perpetual,
+      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+      (except as stated in this section) patent license to make, have made,
+      use, offer to sell, sell, import, and otherwise transfer the Work,
+      where such license applies only to those patent claims licensable
+      by such Contributor that are necessarily infringed by their
+      Contribution(s) alone or by combination of their Contribution(s)
+      with the Work to which such Contribution(s) was submitted. If You
+      institute patent litigation against any entity (including a
+      cross-claim or counterclaim in a lawsuit) alleging that the Work
+      or a Contribution incorporated within the Work constitutes direct
+      or contributory patent infringement, then any patent licenses
+      granted to You under this License for that Work shall terminate
+      as of the date such litigation is filed.
+
+   4. Redistribution. You may reproduce and distribute copies of the
+      Work or Derivative Works thereof in any medium, with or without
+      modifications, and in Source or Object form, provided that You
+      meet the following conditions:
+
+      (a) You must give any other recipients of the Work or
+          Derivative Works a copy of this License; and
+
+      (b) You must cause any modified files to carry prominent notices
+          stating that You changed the files; and
+
+      (c) You must retain, in the Source form of any Derivative Works
+          that You distribute, all copyright, patent, trademark, and
+          attribution notices from the Source form of the Work,
+          excluding those notices that do not pertain to any part of
+          the Derivative Works; and
+
+      (d) If the Work includes a "NOTICE" text file as part of its
+          distribution, then any Derivative Works that You distribute must
+          include a readable copy of the attribution notices contained
+          within such NOTICE file, excluding those notices that do not
+          pertain to any part of the Derivative Works, in at least one
+          of the following places: within a NOTICE text file distributed
+          as part of the Derivative Works; within the Source form or
+          documentation, if provided along with the Derivative Works; or,
+          within a display generated by the Derivative Works, if and
+          wherever such third-party notices normally appear. The contents
+          of the NOTICE file are for informational purposes only and
+          do not modify the License. You may add Your own attribution
+          notices within Derivative Works that You distribute, alongside
+          or as an addendum to the NOTICE text from the Work, provided
+          that such additional attribution notices cannot be construed
+          as modifying the License.
+
+      You may add Your own copyright statement to Your modifications and
+      may provide additional or different license terms and conditions
+      for use, reproduction, or distribution of Your modifications, or
+      for any such Derivative Works as a whole, provided Your use,
+      reproduction, and distribution of the Work otherwise complies with
+      the conditions stated in this License.
+
+   5. Submission of Contributions. Unless You explicitly state otherwise,
+      any Contribution intentionally submitted for inclusion in the Work
+      by You to the Licensor shall be under the terms and conditions of
+      this License, without any additional terms or conditions.
+      Notwithstanding the above, nothing herein shall supersede or modify
+      the terms of any separate license agreement you may have executed
+      with Licensor regarding such Contributions.
+
+   6. Trademarks. This License does not grant permission to use the trade
+      names, trademarks, service marks, or product names of the Licensor,
+      except as required for reasonable and customary use in describing the
+      origin of the Work and reproducing the content of the NOTICE file.
+
+   7. Disclaimer of Warranty. Unless required by applicable law or
+      agreed to in writing, Licensor provides the Work (and each
+      Contributor provides its Contributions) on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+      implied, including, without limitation, any warranties or conditions
+      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+      PARTICULAR PURPOSE. You are solely responsible for determining the
+      appropriateness of using or redistributing the Work and assume any
+      risks associated with Your exercise of permissions under this License.
+
+   8. Limitation of Liability. In no event and under no legal theory,
+      whether in tort (including negligence), contract, or otherwise,
+      unless required by applicable law (such as deliberate and grossly
+      negligent acts) or agreed to in writing, shall any Contributor be
+      liable to You for damages, including any direct, indirect, special,
+      incidental, or consequential damages of any character arising as a
+      result of this License or out of the use or inability to use the
+      Work (including but not limited to damages for loss of goodwill,
+      work stoppage, computer failure or malfunction, or any and all
+      other commercial damages or losses), even if such Contributor
+      has been advised of the possibility of such damages.
+
+   9. Accepting Warranty or Additional Liability. While redistributing
+      the Work or Derivative Works thereof, You may choose to offer,
+      and charge a fee for, acceptance of support, warranty, indemnity,
+      or other liability obligations and/or rights consistent with this
+      License. However, in accepting such obligations, You may act only
+      on Your own behalf and on Your sole responsibility, not on behalf
+      of any other Contributor, and only if You agree to indemnify,
+      defend, and hold each Contributor harmless for any liability
+      incurred by, or claims asserted against, such Contributor by reason
+      of your accepting any such warranty or additional liability.
+
+   END OF TERMS AND CONDITIONS
+
+   APPENDIX: How to apply the Apache License to your work.
+
+      To apply the Apache License to your work, attach the following
+      boilerplate notice, with the fields enclosed by brackets "[]"
+      replaced with your own identifying information. (Don't include
+      the brackets!)  The text should be enclosed in the appropriate
+      comment syntax for the file format. We also recommend that a
+      file or class name and description of purpose be included on the
+      same "printed page" as the copyright notice for easier
+      identification within third-party archives.
+
+   Copyright [yyyy] [name of copyright owner]
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/d6657b82/README.md
----------------------------------------------------------------------
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..9e5efeb
--- /dev/null
+++ b/README.md
@@ -0,0 +1,106 @@
+# cayenne.apache.org sources 
+
+This is a new version of http://cayenne.apache.org 
+
+## How To Run
+
+### Dev mode
+
+Just clone and run maven, nothing else required.
+
+    git clone https://git-wip-us.apache.org/repos/asf/cayenne-website.git
+    cd cayenne-website-demo
+    mvn
+
+Open http://localhost:3000 in your browser. In dev mode site supports live-reloading.
+
+:grey_exclamation: _You can change host and port by setting `dev.host` and `dev.port` properties:_
+   
+    mvn -Ddev.host="my.local" -Ddev.port="8080"
+
+### Publish
+
+To publish new version just run Maven with `publish` profile. This will build production version of the site (with cayenne.apache.org base URL) and push commit into `asf-site` branch that will be synced with actual site content location:
+    
+    mvn -Ppublish -Dmsg="commit message describing site changes"
+    
+That's all, so be carefull and review your changes before publishing (also don't forget to check them after).
+
+Don't forget to push you source's changes so others won't rewrite them.
+    
+:grey_exclamation: apache `gitpubsub` should be setup in order actual content sync to happen. 
+
+*NOTE*: This process can be automated by Jenkins. It can run publish on every commit to `master`. But at first it is better to use manual publishing.
+
+## CMS guide
+
+### Content modifications
+
+#### Publishing news
+
+To publish news simply add new file at `src/main/site/content/news/` folder.
+You can use following template: 
+
+`some-good-news.md`
+
+    ---
+    title: Good news everyone!
+    date: 2017-01-01T00:00:00+03:00
+    --- 
+    
+    Content goes here
+
+
+#### Releasing new cayenne version
+
+To update site content with information about new Cayenne version you need to perform these steps:
+
+* Update data in `src/main/site/data/cayenne.yaml` file.
+* Write news (see information above).
+* Update documentation, this can be done with `build-docs.sh` script. 
+  You can run it like this: `./build-docs.sh 4.1.M2` 
+
+### Advanced 
+
+Node.js, Yarn, Gulp and Hugo used to build this site, Maven used just to boostrap Node.js and Yarn tools and launch Gulp tasks.
+Hugo binaries managed by [hugo-bin](https://www.npmjs.com/package/hugo-bin) NPM module.
+
+#### Src structure
+
+There is two main parts of site src:
+* `src/main/assets` assets processed by [Gulp](https://gulpjs.com) tasks
+
+    * `/gulp/` - list of Gulp tasks
+    
+        Important tasks:
+        * `hugo.js` - contains tasks that launch Hugo to process all content
+        * `images.js` - compress and copy images
+        * `reference.js` - replace references to generated resources inside content
+        * `revision.js` - generate manifest file with resources versions
+        * `scripts.js` - launch Webpack to process JavaScript resources
+        * `serve.js` - launch dev-version of site with live-reloading
+        * `styles.js` - generate CSS bundle (concat, minify, etc..)
+    * `/images/` - images that will be compressed and published into site `/img` directory, 
+    you can put any stuff used by site here (see `/gulp/images.js`)
+    * `/scripts/` - JavaScript sources, `main.js` is an entry point for the final bundle,
+    will be processed by Webpack (see `/gulp/scripts.js`)
+    * `/styles/` - Sass sources, `main.scss` is an entry point for the final bundle
+    (see `/gulp/styles.js`)
+    * `gulpfile.js` - main file for Gulp tasks, define some global path constants
+    * `package.json` - all project dependencies are defined here
+
+* `src/main/site` assets processed [Hugo](https://gohugo.io) site generator
+
+    * `/content/` - main content part of the site, markdown and HTML files
+    * `/data/` - data files in *yaml* format
+    * `/layouts/` - site templates, using [GO templates](https://golang.org/pkg/text/template/)
+    * `/static/` - files that will be copied as is to the final site content, note that `js`, `img` and `css` directories
+    are processed via Gulp tasks, and shouldn't be used directly, instead use coresponding directories in `assets`.     
+    * `config.yaml` - Hugo configuration
+
+
+## ToDo
+
+- [x] Add fontawesome as dependency
+- [x] Asciidoc ToC into docs aside
+- [ ] $small-font-size-rem - https://davidwalsh.name/rem-px-browser-function-sass

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/d6657b82/README.txt
----------------------------------------------------------------------
diff --git a/README.txt b/README.txt
deleted file mode 100644
index f00fbf8..0000000
--- a/README.txt
+++ /dev/null
@@ -1,16 +0,0 @@
-A website for the Apache Cayenne project.
-
-To build this site on OSX:
-
-1. Install homebrew
-2. # brew install rbenv-bundler
-3. cd to the top of this folder
-4. # rbenv install
-5. # bundler install
-6. # jekyll s
-
-From time to time you might need to repeat steps 4 and 5 if the version of ruby or gems are upgraded.
-
-When you run the jekyll server in step 6, you'll be able to browse to localhost and view the site. As you change files, the site rebuilds automatically in a few seconds.
-
-The output of the site can be found in _site if that needs to be copied to another location for deployment.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/d6657b82/_config.yml
----------------------------------------------------------------------
diff --git a/_config.yml b/_config.yml
deleted file mode 100644
index 6da7b3d..0000000
--- a/_config.yml
+++ /dev/null
@@ -1,44 +0,0 @@
-title: Apache Cayenne
-email: amaniatis@apache.org
-description: >
-  Apache Cayenne(tm) is an open source persistence framework licensed
-  under the Apache License, providing object-relational mapping (ORM) and 
-  remoting services. With a wealth of unique and powerful features, 
-  Cayenne can address a wide range of persistence needs. Cayenne seamlessly 
-  binds one or more database schemas directly to Java objects, managing atomic 
-  commit and rollbacks, SQL generation, joins, sequences, and more. With Cayenne's
-  Remote Object Persistence, those Java objects can even be persisted out to 
-  clients via Web Services.
-baseurl: ""
-url: "http://cayenne.apache.org"
-encoding: utf-8
-
-# Build settings
-
-# theme: minima
-gems:
-#  - jekyll-feed
-exclude:
-  - Gemfile
-  - Gemfile.lock
-  - README.txt
-
-markdown: kramdown
-kramdown:
-  auto_ids: true # Auto-generate ID's for headings
-
-sass:
-  style: compressed
-  sass_dir: assets/css/_sass
-
-defaults:
-  -
-    scope:
-      path: "assets" # an empty string here means all files in the project
-    values:
-      layout:
-  -
-    scope:
-      path: "" # an empty string here means all files in the project
-    values:
-      layout: "default"
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/d6657b82/_includes/footer.html
----------------------------------------------------------------------
diff --git a/_includes/footer.html b/_includes/footer.html
deleted file mode 100644
index d2acf1c..0000000
--- a/_includes/footer.html
+++ /dev/null
@@ -1,60 +0,0 @@
-<footer>
-  <div class="container footer-bottom">
-    <div class="col-md-8">
-      <h4>Why Cayenne?</h4>
-        <ul>
-          <li><a href="/about">About</a></li>
-          <li><a href="/download">Download</a></li>
-          <li><a href="/success-stories">Success Stories</a></li>
-          <li><a href="/support">Support</a></li>
-        </ul>
-    </div>
-
-    <div class="col-md-8">
-      <h4><a href="/docs/index.html">Documentation</a></h4>
-      <ul>
-        <li><a href="/docs/4.0/tutorial/index.html">Getting Started (4.0)</a></li>
-        <li class="trigger"><a href="/docs/4.0/index.html">Version 4.0 (alpha)</a>
-          <ul>
-            <li><a href="/docs/4.0/cayenne-guide/index.html">Cayenne Guide</a></li>
-            <li><a href="/docs/4.0/tutorial/index.html">Tutorial</a></li>
-            <li><a href="/docs/4.0/tutorial-rop/index.html">ROP Tutorial</a></li>
-            <li><a href="/docs/4.0/upgrade-guide/index.html">Upgrade Guide</a></li>
-            <li><a href="/docs/4.0/api/index.html">JavaDoc</a></li>
-          </ul>
-        </li>
-        <li class="trigger"><a href="/docs/3.1/index.html">Version 3.1 (stable)</a>
-          <ul>
-            <li><a href="/docs/3.1/cayenne-guide/index.html">Cayenne Guide</a></li>
-            <li><a href="/docs/3.1/tutorial/index.html">Tutorial</a></li>
-            <li><a href="/docs/3.1/tutorial-rop/index.html">ROP Tutorial</a></li>
-            <li><a href="/docs/3.1/upgrade-guide/index.html">Upgrade Guide</a></li>
-            <li><a href="/docs/3.1/api/index.html">JavaDoc</a></li>
-          </ul>
-        </li>
-        <li><a href="/docs/legacy.html">Legacy Releases</a>
-        </li>
-      </ul>
-    </div>
-
-    <div class="col-md-8">
-      <h4>Collaboration</h4>
-      <ul>
-        <li><a href="http://issues.apache.org/jira/browse/CAY">Bug/Feature Tracker</a></li>
-        <li><a href="/mailing-lists">Mailing Lists</a></li>
-        <li><a href="/dev/code-repository">Code Repository</a></li>
-        <li><a href="/dev/index">Developer Guide</a></li>
-        <li><a href="/how-can-i-help">How Can I Help?</a></li>
-        <li><a href="/contributors">Contributors</a></li>
-        <li><a href="/thanks">Thanks</a></li>
-      </ul>
-    </div>
-
-    <div class="row">
-      <div class="col-xs-24">
-        <p>©{{ 'now' | date: "%Y" }} Apache Foundation</p>
-      </div>
-    </div>
-  </div>
-</footer>
-<script type="text/javascript" src="{{ site.baseurl }}/assets/js/site.js"></script>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/d6657b82/_includes/head.html
----------------------------------------------------------------------
diff --git a/_includes/head.html b/_includes/head.html
deleted file mode 100644
index 8194944..0000000
--- a/_includes/head.html
+++ /dev/null
@@ -1,22 +0,0 @@
-<head>
-  <meta charset="utf-8">
-  <meta content="width" name="MobileOptimized">
-  <meta content="true" name="HandheldFriendly">
-  <meta http-equiv="X-UA-Compatible" content="IE=edge">
-  <meta name="viewport" content="width=device-width, initial-scale=1">
-
-  <title>{% if page.title %}{{ page.title | escape }}{% else %}{{ site.title | escape }}{% endif %}</title>
-
-  <link rel="stylesheet" href="{{ site.baseurl }}/assets/css/main.css">
-  <link rel="canonical" href="{{ page.url | replace:'index.html','' | prepend: site.baseurl | prepend: site.url }}">
-  <link href='https://fonts.googleapis.com/css?family=Raleway' rel='stylesheet' type='text/css'>
-
-  <script type="text/javascript">
-    var paths = {
-      'base': '{{ site.baseurl }}',
-      'url': '{{ page.url | replace:"index.html","" | prepend: site.baseurl | prepend: site.url }}',
-      'pageUrl': '{{ page.url | replace:"index.html","" | prepend: site.baseurl }}',
-      'pageUrlBase': '{{ page.url | replace:"index.html","" | prepend: site.baseurl }}'
-    };
-  </script>
-</head>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/d6657b82/_includes/header.html
----------------------------------------------------------------------
diff --git a/_includes/header.html b/_includes/header.html
deleted file mode 100644
index 9a8a59f..0000000
--- a/_includes/header.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<header class="site-header">
-  <nav class="navbar">
-    <div class="container">
-      <div class="clearfix pull-sm-left mobile-nav">
-        <a class="site-title navbar-brand" href="{{site.baseurl}}/" title="{{ site.title }}">
-          Apache Cayenne
-        </a>
-          <button class="navbar-toggler hidden-xs-up pull-xs-right" type="button" data-toggle="collapse" data-target="#navbar-header-toggle" aria-controls="#navbar-header-toggle">
-            &#9776;
-          </button>
-      </div>
-
-      <div class="navbar-header navbar-toggleable-xs pull-sm-left" id="navbar-header-toggle">
-        <ul class="clearfix nav navbar-nav">
-          <li class="nav-item">
-            <a href="{{ site.baseurl }}/download" class="nav-link">Download</a>
-          </li>
-          <li class="nav-item">
-            <a href="{{ site.baseurl }}/docs" class="nav-link">Documentation</a>
-          </li>
-          <li class="nav-item">
-            <a href="{{ site.baseurl }}/support" class="nav-link">Community/Support</a>
-          </li>
-        </ul>
-      </div>
-    </div>
-  </nav>
-</header>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/d6657b82/_includes/sidebar.html
----------------------------------------------------------------------
diff --git a/_includes/sidebar.html b/_includes/sidebar.html
deleted file mode 100644
index c757e8b..0000000
--- a/_includes/sidebar.html
+++ /dev/null
@@ -1,19 +0,0 @@
-<ul class="children nav-children">
-  {% assign pages = site.html_pages | sort: "path" %}
-  {% for entry in pages %}
-    {% assign entry_path = entry.url | split: "/" | pop | join: '/' | append: '/' %}
-    {% assign file_ext = entry.url | slice: -5, 5 %}
-    {% if file_ext != '.html' and entry_path contains include.path  %}
-      <li class="nav-item{% if page.url contains entry.url %} active-item{% endif %}">
-        <a href="{{ site.baseurl }}{{ entry.url }}">{{ entry.title }}</a>
-        {% include sidebar.html path=entry.url %}
-      </li>
-    {% else %}
-      {% if entry_path == include.path %}
-        <li class="nav-item{% if page.url contains entry.url %} active-item{% endif %}">
-          <a href="{{ site.baseurl }}{{ entry.url }}">{{ entry.title }}</a>
-        </li>
-      {% endif %}
-    {% endif %}
-  {% endfor %}
-</ul>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/d6657b82/_layouts/default.html
----------------------------------------------------------------------
diff --git a/_layouts/default.html b/_layouts/default.html
deleted file mode 100644
index 77f744c..0000000
--- a/_layouts/default.html
+++ /dev/null
@@ -1,39 +0,0 @@
-<!DOCTYPE html>
-<html>
-
-  {% include head.html %}
-
-  <body id="site-page" class="show-sidebar">
-
-    {% include header.html %}
-
-    <div class="page-content">
-      <div class="clearfix container">
-        <aside id="content">
-          {{ content | jira_link }}
-        </aside>
-      </div>
-    </div>
-
-    <div id="sidebar-menu" data-item="toc-generated">
-      <div class="menu-wrapper">
-        <a class="toggle-menu navbar-toggler" href="#">
-          <span class="nav-toggle"></span>
-        </a>
-        <div class="navbar-wrapper">
-          <nav class="navbar-header navbar">
-            <ul class="clearfix nav navbar-nav">
-              <li class="nav-item">
-                {% assign top_menu = page.url | split: '/' | shift | first | prepend: '/' | append: '/' %}
-                {% include sidebar.html path=top_menu %}
-              </li>
-            </ul>
-          </nav>
-        </div>
-      </div>
-    </div>
-
-    <div class="clearfix"></div>
-    {% include footer.html %}
-  </body>
-</html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/d6657b82/_layouts/post.html
----------------------------------------------------------------------
diff --git a/_layouts/post.html b/_layouts/post.html
deleted file mode 100644
index 77f744c..0000000
--- a/_layouts/post.html
+++ /dev/null
@@ -1,39 +0,0 @@
-<!DOCTYPE html>
-<html>
-
-  {% include head.html %}
-
-  <body id="site-page" class="show-sidebar">
-
-    {% include header.html %}
-
-    <div class="page-content">
-      <div class="clearfix container">
-        <aside id="content">
-          {{ content | jira_link }}
-        </aside>
-      </div>
-    </div>
-
-    <div id="sidebar-menu" data-item="toc-generated">
-      <div class="menu-wrapper">
-        <a class="toggle-menu navbar-toggler" href="#">
-          <span class="nav-toggle"></span>
-        </a>
-        <div class="navbar-wrapper">
-          <nav class="navbar-header navbar">
-            <ul class="clearfix nav navbar-nav">
-              <li class="nav-item">
-                {% assign top_menu = page.url | split: '/' | shift | first | prepend: '/' | append: '/' %}
-                {% include sidebar.html path=top_menu %}
-              </li>
-            </ul>
-          </nav>
-        </div>
-      </div>
-    </div>
-
-    <div class="clearfix"></div>
-    {% include footer.html %}
-  </body>
-</html>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/d6657b82/_plugins/jira.rb
----------------------------------------------------------------------
diff --git a/_plugins/jira.rb b/_plugins/jira.rb
deleted file mode 100644
index 21af834..0000000
--- a/_plugins/jira.rb
+++ /dev/null
@@ -1,15 +0,0 @@
-module Jekyll
-
-	module JiraLinks
-
-		def jira_link(content)
-			content.gsub(/CAY-[0-9]+/) { |link|
-				"<a class='jira' href='http://issues.apache.org/jira/" + link + "'>" + link + "</a>"
-			}
-		end
-
-	end
-
-end
-
-Liquid::Template.register_filter(Jekyll::JiraLinks)
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/d6657b82/_posts/2010-11-29-cayenne-at-the-sydney-apache-unconference.md
----------------------------------------------------------------------
diff --git a/_posts/2010-11-29-cayenne-at-the-sydney-apache-unconference.md b/_posts/2010-11-29-cayenne-at-the-sydney-apache-unconference.md
deleted file mode 100644
index a65c209..0000000
--- a/_posts/2010-11-29-cayenne-at-the-sydney-apache-unconference.md
+++ /dev/null
@@ -1,15 +0,0 @@
----
-layout: post
-title:  Cayenne at the Sydney Apache unconference
-date:   2010-11-29
----
-
-An invitation to the Apache Sydney Unconference: 11 December 2010
-
-On Saturday 11th December, the Apache Software Foundation and the University of Sydney are holding an open source themed Unconference. This is an event where the theme is set in advance, but the sessions to be presented are only decided on at the event, based on those who come along (sometimes also known as a BarCamp). They provide an excellent opportunity to learn, present and discuss, and offer a chance for everyone to participate. The main themes for the Sydney Unconference will be Open Source, Open Development and the software produced by the Apache Software Foundation. There will be talks covering a wide range of topics, with several tracks in parallel to choose between.
-
-There will be attendees from industry, university and Apache members from around the world.
-
-For details or to register for the Apache Sydney Unconference visit the [website and signup page](http://barcamp.org/BarCampApacheSydney).
-
-Ari Maniatis from the Apache Cayenne PMC is part of the organising team for this event and would love to talk to any Cayenne user.
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/d6657b82/_posts/2010-12-02-cayenne-31-its-alive.md
----------------------------------------------------------------------
diff --git a/_posts/2010-12-02-cayenne-31-its-alive.md b/_posts/2010-12-02-cayenne-31-its-alive.md
deleted file mode 100644
index 832325b..0000000
--- a/_posts/2010-12-02-cayenne-31-its-alive.md
+++ /dev/null
@@ -1,18 +0,0 @@
----
-layout: post
-title:  Cayenne 3.1 - it's alive!
-date:   2010-12-2
----
-
-Cayenne 3 isn't resting on its laurels. It is still growing and developing, and today we are pleased to announce the first milestone of version 3.1. This is not a beta and 3.1 is not yet feature-complete, but it gives users an insight into the direction Cayenne is heading in and an opportunity to give us feedback.
-
-The key features added to 3.1 so far are:
-
-* Built-in Dependency Injection container, statics-free and singleton-free runtime.
-* Simplified single-domain projects.
-* CayenneModeler preferences that don't get corrupted and don't vanish.
-* Property-based DataSource configuration (killing JNDI hack).
-
-We encourage users to experiment with upgrading their projects to 3.1, but also warn of a few known issues that we are working to address, more specifically: [CAY-1519](https://issues.apache.org/jira/browse/CAY-1519), [CAY-1515](https://issues.apache.org/jira/browse/CAY-1515), [CAY-1516](https://issues.apache.org/jira/browse/CAY-1516).
-
-Download Apache Cayenne 3.1M1 from [here](/download.html)

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/d6657b82/_posts/2011-03-08-cayenne-31m2-is-released.md
----------------------------------------------------------------------
diff --git a/_posts/2011-03-08-cayenne-31m2-is-released.md b/_posts/2011-03-08-cayenne-31m2-is-released.md
deleted file mode 100644
index 7b3b32d..0000000
--- a/_posts/2011-03-08-cayenne-31m2-is-released.md
+++ /dev/null
@@ -1,20 +0,0 @@
----
-layout: post
-title:  Cayenne 3.1M2 is Released
-date:   2011-3-8
----
-
-We keep improving Cayenne 3.1 with the new M2 milestone release. If you've already experimented with 3.1, M2 is a must-have upgrade - it fixes a number of bugs that affected runtime stability (CAY-1515, CAY-1519). If you haven't, maybe it is time to try it out? ;) Usual disclaimer applies about M2 being an early alpha and the new APIs being subject to change. In addition to the numerous bugfixes in the runtime and the Modeler, the new release introduces a set of brand new powerful tools for object lifecycle management. We'll briefly describe them here. Please check Guide to 3.1 Features for more details.
-
-* Cayenne now allows to declare listener methods with annotations. Configuring listener methods in the Modeler (or via API for that matter) was arguably the most tedious mapping task in Cayenne. What's even worse, if you reuse your model in more than one app, you may not want the listeners to be shared, so you don't want them to be in the model at all. M2 solves that by letting you to annotate the listener class, and registering a listener object where you need it with a single method call. A listener object can of course have multiple annotated callback methods:
-
-        MyListener listener = new MyListener();
-        runtime.getChannel().getEntityResolver().getCallbackRegistry().addListener(listener);
-
-While JPA users may think that lifecycle annotations is old news, Cayenne goes a bit further than JPA here. Cayenne annotations let you attach a listener not just to specific entities, but also to entities whose names are not known to the listener upfront. A listener annotation may reference an arbitrary user-defined annotation which is then placed on entity classes. All of this completely changes how you manage your listeners. It becomes simple, clear and flexible.
-
-* Another cool lifecycle management tool is DataChannelFilter. A chain of filters can be configured by the user to intercept and react to the data traffic (selects, commits) between DataContext and DataDomain. This was sort of possible before by decorating a DataChannel, however the new approach is much less invasive, and more importantly, the filter object can also have annotated listener methods that are aware of the ongoing select or commit operation. That's what ultimately makes it usable in real-life situations. CacheInvalidationFilter in cayenne-lifeycle module (cayenne-lifecycle is described below) is a good example of how a filter collects some information about an ongoing persistence operation in a ThreadLocal object, and then processes aggregated information at the end of this operation.
-
-* We are taking advantage of the above feature by providing a cayenne-lifecycle extensions module that implements a few common lifecycle management scenarios - object audit, automated cache group invalidation, and handling a new kind of "to-any" relationship (we tentatively called that one a UuidRelationship). You may use cayenne-lifecycle goodies as is, extend them, or simply refer to it as an example of what is possible with the new lifecycle tools. There's still lots of experimentation going on here, so its API is likely to change.
-
-Finally, 3.1M2 [download link](/download.html).
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/d6657b82/_posts/2011-06-21-cayenne-302-is-released.md
----------------------------------------------------------------------
diff --git a/_posts/2011-06-21-cayenne-302-is-released.md b/_posts/2011-06-21-cayenne-302-is-released.md
deleted file mode 100644
index 393d9c1..0000000
--- a/_posts/2011-06-21-cayenne-302-is-released.md
+++ /dev/null
@@ -1,27 +0,0 @@
----
-layout: post
-title:  Cayenne 3.0.2 is Released
-date:   2011-6-21
----
-
-We just released a maintenance version of stable Cayenne 3.0 branch. It has 19 bug fixes and minor improvements, e.g. a performance improvement for MySQL (JDBC batching). If you are a 3.0.x user, this is certainly a recommended upgrade. A full list of closed jiras is below:
-
-* CAY-1500 MySQL JDBC Batching
-* CAY-1403 Method "readNestedProperty" Should Resolve Through Iterative Invocations onto DataObject and Not Complete Within Cayenne.readNestedProperty
-* CAY-1432 java.io.NotSerializableException when using OSCache for query cache with prefetches and persitent cache.
-* CAY-1444 NPE when persisting a newly instatiated object
-* CAY-1456 Investigate auto-increment columns on DB2 and switch the adapter policy to support them
-* CAY-1484 Flattened attribute queries are incorrectly generated
-* CAY-1485 Memory information for about dialog
-* CAY-1488 OutOfMemory when selecting "Remove Foreign Keys Mapped as Object Attributes"
-* CAY-1489 NPE using DataContext.objectFromDataRow for a nested context
-* CAY-1490 Maven cgen: all and datamap modes can not be activated
-* CAY-1496 Problem in derby: comparison operators are not supported on Clob object values.
-* CAY-1503 POST_LOAD is not called on prefetched objects
-* CAY-1505 Callbacks: POST_UPDATE is called on updated removed object, instead of POST_REMOVE
-* CAY-1506 Reserverd words mapping in WHERE clause
-* CAY-1518 cgen: duplicate callback methods
-* CAY-1557 Vertical inheritance is broken for subclasses with more than one flattened attribute
-* CAY-1561 Modeler trivial bug NullPointerException on remove
-* CAY-1567 BaseQueryMetadata.setPrefetches() causes a shared lock
-* CAY-1578 unicode character types on MS SQL 2008 server aren't recognized.

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/d6657b82/_posts/2011-09-26-cayenne-31m3-is-released.md
----------------------------------------------------------------------
diff --git a/_posts/2011-09-26-cayenne-31m3-is-released.md b/_posts/2011-09-26-cayenne-31m3-is-released.md
deleted file mode 100644
index 57a90e9..0000000
--- a/_posts/2011-09-26-cayenne-31m3-is-released.md
+++ /dev/null
@@ -1,59 +0,0 @@
----
-layout: post
-title:  Cayenne 3.1M3 is Released
-date:   2011-9-26
----
-
-We are glad to announce 3.1M3 release of Cayenne. This is an important milestone on our way to Beta. In fact there is a good chance that the next release will be announced as Beta. Upgrade to M3 is strongly recommended to all 3.1 users, as it contains some critical bug fixes. The highlights of the M3:
-
-* Core API improvements - cleaner vararg APIs in ObjectContext and Cayenne classes, ObjectContext.localObject(Object), etc.
-* Switching more of the internals to DI (query cache providers, loggers, various strategies controlling ObjectContext behavior, etc.). We'll keep working on this, so M4 will have more of it, and in fact there are a number of existing patches waiting for review (e.g. DI-based ExtendedTypes).
-* New QueryCache implementation based on EHCache (not thoroughly tested yet, so user feedback will be very helpful).
-* Refactoring of "cayenne-lifecycle" based on experience using it in the real apps.
-* Fixing a number of critical bugs.
-
-[Download link](/download.html)
-
-And now the full release notes:
-
-## Changes/New Features
-
-* CAY-943 Support multiple cayenne.xml files in the project
-* CAY-1266 Joint prefetches with fetch limit and offset do not work on Oracle
-* CAY-1461 CayenneModeler: remove ScopeMVC dependency - ObjRelationshipInfoDialog
-* CAY-1556 Add path construction feature to make constructing paths from constants easier for queries and orderings
-* CAY-1525 CharType: don't trim spaces on the left
-* CAY-1537 Implement ObjectContext local caches as NestedQueryCache over the shared cache
-* CAY-1544 Remove jdk1.6 module from Cayenne sources
-* CAY-1545 cayenne-lifecycle Referenceable handler refactoring
-* CAY-1547 cayenne-lifecycle: support for setting UuidRelationships
-* CAY-1549 Migrate BatchQueryBuilderFactory to DI
-* CAY-1553 cayenne-lifecycle: @SortWeight annotation
-* CAY-1573 QueryLogger to DI JdbcEventLogger migration
-* CAY-1584 Improve Cayenne modeler re-ordering named query in the cayenne map xml
-* CAY-1586 New extension point: a strategy for retaining objects in the ObjectStore
-* CAY-1590 DDL generation without a live datasource
-* CAY-1594 DI extension point: turning on/off cross-ObjectContext synchronization
-* CAY-1595 EHCache implementation of Provider<QueryCache>
-* CAY-1598 Per DataMap listeners are called for all entities in DataDomain
-* CAY-1599 Annotation-based global listeners registration
-* CAY-1605 Switch Cayenne to use unified Maven repository
-* CAY-1606 Change CayenneModeler new object naming strategy
-* CAY-1610 ObjectContext API to use varargs
-* CAY-1611 ObjectContext API improvement - better 'localObect' method
-
-## Bug Fixes
-
-* CAY-1469 Modeler: dbRelationships renaming problem
-* CAY-1526 Preferences: java.lang.IllegalArgumentException: Key too long
-* CAY-1539 Incorrect offset handling on some queries against database with supported LIMIT/OFFSET clauses
-* CAY-1546 cayenne-lifecycle: UuidBatchFault concurrency issues
-* CAY-1555 Unpublished dependencies of Maven plugins
-* CAY-1575 Error generating Embeddable classes in Cayenne Modeler
-* CAY-1577 SQL queries for LIKE expressions with escape character generated with syntax errors
-* CAY-1581 Not-Escaping <> during serialization to *.map.xml
-* CAY-1583 context.getObjectStore() returning null causing NullpointerException in DataMergeHandler
-* CAY-1585 SelectQuery automatic cache key needs FetchOffset
-* CAY-1591 CayenneModeler: keyboard shortcuts causing havoc in SQLTemplate SQL editor
-* CAY-1596 setFetchOffset & setFetchLimit issue under SQL Server 2008 R2 64Bit
-* CAY-1602 OSCache clustering should be shared per JVM - @CacheGroup annotation causes creation of too many cluster listeners

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/d6657b82/_posts/2012-06-12-cayenne-31-beta-released.md
----------------------------------------------------------------------
diff --git a/_posts/2012-06-12-cayenne-31-beta-released.md b/_posts/2012-06-12-cayenne-31-beta-released.md
deleted file mode 100644
index 2fd243e..0000000
--- a/_posts/2012-06-12-cayenne-31-beta-released.md
+++ /dev/null
@@ -1,13 +0,0 @@
----
-layout: post
-title:  Cayenne 3.1 Beta Released
-date:   2012-6-12
----
-
-Very happy to announce Cayenne 3.1 beta! Apache Cayenne is one of the leading open source Java ORMs with a simple learning curve and a set of unique functionality like generic objects, remote object persistence, etc. Cayenne 3.1 features a small (only 40K), but very powerful built-in dependency injection container, declarative object lifecycle support and dozens of improvements in all areas of the framework and the modeling tools. 
-
-With 3.1 beta out, we are freezing all development of this branch, and will concentrate on bug fixing and stabilizing the release in preparation of 3.1 final. So now may be the time to try 3.1.
-
-Cayenne can be downloaded from [here](/download.html).
-
-For a list of issues resolved in 3.1 beta, check the [release notes](http://svn.apache.org/repos/asf/cayenne/main/tags/3.1B1/docs/doc/src/main/resources/RELEASE-NOTES.txt).
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/d6657b82/_posts/2013-02-18-cayenne-31b2-released.md
----------------------------------------------------------------------
diff --git a/_posts/2013-02-18-cayenne-31b2-released.md b/_posts/2013-02-18-cayenne-31b2-released.md
deleted file mode 100644
index cbb67e2..0000000
--- a/_posts/2013-02-18-cayenne-31b2-released.md
+++ /dev/null
@@ -1,42 +0,0 @@
----
-layout: post
-title:  Cayenne 3.1 Beta 2 Released
-date:   2013-2-18
----
-
-A second Beta of Cayenne 3.1 is available. Apache Cayenne is one of the leading open source Java ORMs with a simple learning curve and many unique features like generic objects, remote object persistence, etc. This beta release includes more complete documentation (still work in progress), and more than 20 bug fixes to the Modeler and the runtime framework. This release goes a long way in stabilizing and improving 3.1 for an average user. Very likely this will be the last beta before we make a "release candidate" and 3.1 "final". Most of the remaining 3.1 work will now focus on user documentation. 
-
-B2 is a recommended upgrade for 3.1 users. We also certainly encourage everyone else to upgrade to 3.1 right now and tell us if you find any problems. 
-
-Cayenne can be downloaded from [here](/download.html).
-
-A full list of changes in this release:
-
-* CAY-1737 ObjectContexts listening to DataChannel events must be non-blocking
-* CAY-1753 remove light-superclass.vm class template
-* CAY-1754 Modeler suggested URL for SQLServer should start with 'jdbc:sqlserver:' instead of 'jdbc:microsoft:sqlserver:'
-
-Bug fixes in this release:
-
-* CAY-957 Deadlock in nested contexts
-* CAY-1689 [PATCH] LOB*QueryBuilders do not check isQuotingSQLIdentifiers
-* CAY-1701 Modeler cannot undo pasting of obj (db) entity
-* CAY-1708 Modeler error when pasting datamap with EJBQL query
-* CAY-1713 Inconsistent property name: "cayenne.rop.service.timeout"
-* CAY-1714 ROP: Cayenne tries to build a query for non committed object when using more than 2 nested contexts 
-* CAY-1715 Passing parameters to mapped EJBQL queries
-* CAY-1721 Writing blobs fails (Oracle)
-* CAY-1725 NullPointerException from call to removeToManyTarget
-* CAY-1727 Modeler thinks entity is using inheritance when it doesn't
-* CAY-1729 PersistentDescriptor must have predictable property iteration order
-* CAY-1735 Serializable IncrementalFaultList
-* CAY-1738 Tutorial cayenne-rop-server should be packaged as a war
-* CAY-1739 Cayenne ROP server resets session on every request if BASIC auth is used
-* CAY-1741 Serializable DataObjectBaseProperty
-* CAY-1742 CAY-1742 ObjRelationship inspector says "ObjAttribute Inspector"
-* CAY-1744 Unexpected read-only relationships in vertical inheritance mapping
-* CAY-1749 NPE on simple nested context commit
-* CAY-1755 FaultFailureException resolving relationships to UNIQUE non-PK columns
-* CAY-1757 ROP: Faulting entity relationship resets uncommitted modifications made to its reverse relationship 
-* CAY-1774 EhCacheQueryCache.get(QueryMetadata, QueryCacheEntryFactory) returns null if EhCache instance for group is not present
-* CAY-1783 JdbcPkGenerator.longPkFromDatabase would throw an exception if the PK value exceeds a range of Java int

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/d6657b82/_posts/2013-07-19-cayenne-32m1-released.md
----------------------------------------------------------------------
diff --git a/_posts/2013-07-19-cayenne-32m1-released.md b/_posts/2013-07-19-cayenne-32m1-released.md
deleted file mode 100644
index e4b0ea8..0000000
--- a/_posts/2013-07-19-cayenne-32m1-released.md
+++ /dev/null
@@ -1,107 +0,0 @@
----
-layout: post
-title:  Cayenne 3.2 Milestone 1 Released
-date:   2013-7-19
----
-
-While Cayenne 3.1 release is in Beta and frozen, we are moving ahead with new development. Today we are glad to announce
-the first milestone of Cayenne 3.2. You may remember that 3.1 was all about dependency injection. 
-Well, 3.2 is becoming all about improving user-facing APIs (Query, ObjectContext, etc.). We are finally fully taking 
-advantage of generics to make your code type-safe, and otherwise ensuring that the code you write is more 
-concise and readable. Some of these improvements are achieved via smart class generation 
-that creates type-safe static "properties", allowing to build type-safe expressions. Just to give a taste of Cayenne 3.2:
-
-    // 3.1 style:
-    Expression e = ExpressionFactory.matchExp(Painting.ARTIST_PROPERTY, artist);
-    SelectQuery q = new SelectQuery(Painting.class, e);
-    @SuppressWarnings("unchecked")
-    List<Painting> paintings = context.performQuery(q);
-
-    // 3.2 style:
-    Expression e = Painting.ARTIST.eq(artist);
-    SelectQuery<Painting> q = SelectQuery.query(Painting.class, e);
-    List<Painting> paintings = context.select(q);
-
-3.2 style results in less code, type-safe expressions and results, and no compiler warnings. Another noteable 
-improvement is a reworked 'cdbimport' that enabled Modeler-free workflow for some databases. So there's a lot to like for 
-the early 3.2 adopters.
-
-Cayenne can be downloaded from [here](/download.html).
-
-A full list of changes in this release:
-
-* CAY-1294 Generify query
-* CAY-1646 Synchronize tabs in Modeler between ObjEntity and DbEntity editor panes
-* CAY-1647 Easily switch to/from ObjEntity and DbEntity in Modeler
-* CAY-1717 [PATCH] Implement JDBC compatibility layer methods
-* CAY-1718 Remove everything deprecated in 3.1
-* CAY-1724 Add 'Property' class for easier and better Expression creation
-* CAY-1726 Expression parser support for bit operators, support for << and >>
-* CAY-1737 ObjectContexts listening to DataChannel events must be non-blocking
-* CAY-1748 IdCoder/EntityIdCoder improvements to work with ObjectIds, including temp ones
-* CAY-1753 remove light-superclass.vm class template
-* CAY-1754 Modeler suggested URL for SQLServer should start with 'jdbc:sqlserver:' instead of 'jdbc:microsoft:sqlserver:'
-* CAY-1758 cdbimport improvements
-* CAY-1759 cdbimport improvements: add 'catalog', rename 'schemaName' to 'schema'
-* CAY-1760 cdbimport improvements: Default adapter (if none specified) must be AutoAdapter, not JdbcAdapter 
-* CAY-1761 cdbimport improvements: DbLoader must reverse engineer PK auto-increment state. 
-* CAY-1762 cdbimport improvements: Support for "defaultPackage" parameter, as the new DataMaps ends up placing entities in the root package 
-* CAY-1763 cdbimport improvements: specified "schema" should become the default schema of the generated DataMap 
-* CAY-1764 cdbimport improvements: "overwrite" flag
-* CAY-1765 cdbimport improvements: add excludeTables/includeTables parameters
-* CAY-1766 Deprecating DataPort ant task
-* CAY-1768 cdbimport improvements: DataMap "project-version" attribute is skipped when DM is saved
-* CAY-1769 cdbimport improvements: meaningfulPk flag must be turned into a pattern
-* CAY-1771 cdbimport improvements: "usePrimitives" flag
-* CAY-1772 Real support for DbEntity catalogs
-* CAY-1778 TransactionManager to simplify user-managed transactions 
-* CAY-1779 Flatten object entities for many to many relationships on reverse engineering 
-* CAY-1781 Add StatelessContextRequestHandler as an alternative to the Session-based one
-* CAY-1785 SelectQuery<T> for DataRows
-* CAY-1789 Lock-free EntityResolver 
-* CAY-1792 [PATCH] Supply additional factory methods for generic SelectQueries 
-* CAY-1803 Optimize Expression conversion to String and EJBQL 
-* CAY-1809 Remove 'final' modifier from Cayenne, HessianUtil, PropertyComparator, ConversionUtil, and LinkedDeque
-* CAY-1813 Missing ObjEntity Attribute Validation with Duplicate DbEntity Columns
-* CAY-1814 Support Property.nin 
-* CAY-1819 When adding a filter, auto-register it as a listener 
-* CAY-1820 DataDomain.addListener(Object) - a shortcut for adding annotated listeners 
-* CAY-1821 AuditableFilter and friends should explicitly work with Persistent instead of Object
-* CAY-1822 Make DataMap editor fields wider 
-* CAY-1823 remove ":sync w/DbEntity" button from ObjEntity - it is redundant and already present on the entity toolbar. 
-* CAY-1825 Simplify API for setting up query caching
-* CAY-1828 SQLSelect - generics friendly fluent selecting sql query
-* CAY-1829 Make ResultIterator implement Iterable<T>, create ObjectContext.iterate method
-* CAY-1836 Firebird Adapter 
-* CAY-1838 Deprecate EntityResolver.indexedByClassProperty
-
-Bug Fixes:
-
-* CAY-957 Deadlock in nested contexts
-* CAY-1522 EJBQL query don't support quotes
-* CAY-1677 Modeler: text fields discard input unless you press enter
-* CAY-1701 Modeler cannot undo pasting of obj (db) entity
-* CAY-1708 Modeler error when pasting datamap with EJBQL query
-* CAY-1714 ROP: Cayenne tries to build a query for non committed object when using more than 2 nested contexts 
-* CAY-1721 Writing blobs fails (Oracle)
-* CAY-1725 NullPointerException from call to removeToManyTarget
-* CAY-1719 Modeler - Obj Attribute Java Type editor won't focus sometimes
-* CAY-1727 Modeler thinks entity is using inheritance when it doesn't
-* CAY-1729 PersistentDescriptor must have predictable property iteration order
-* CAY-1738 Tutorial cayenne-rop-server should be packaged as a war
-* CAY-1739 Cayenne ROP server resets session on every request if BASIC auth is used
-* CAY-1742 ObjRelationship inspector says "ObjAttribute Inspector"
-* CAY-1744 Unexpected read-only relationships in vertical inheritance mapping
-* CAY-1749 NPE on simple nested context commit
-* CAY-1755 FaultFailureException resolving relationships to UNIQUE non-PK columns
-* CAY-1757 ROP: Faulting entity relationship resets uncommitted modifications made to its reverse relationship 
-* CAY-1774 EhCacheQueryCache.get(QueryMetadata, QueryCacheEntryFactory) returns null if EhCache instance for group is not present
-* CAY-1780 cdbimport do not create xml file in resource folder
-* CAY-1782 Deadlock when performing many concurrent inserts
-* CAY-1783 JdbcPkGenerator.longPkFromDatabase would throw an exception if the PK value exceeds a range of Java int
-* CAY-1794 Duplicate attributes in discriminator columns of PersistentDescriptor
-* CAY-1804 Serialisation of long[] type was not working correctly. 
-* CAY-1806 Error importing eomodel 
-* CAY-1817 NPE during Validate Project 
-* CAY-1827 EhCache region corresponding to a cache group loses its settings after 'removeGroup'
-* CAY-1832 Exception when modifying objects in postLoad callback

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/d6657b82/_posts/2014-02-16-cayenne-31rc1-released.md
----------------------------------------------------------------------
diff --git a/_posts/2014-02-16-cayenne-31rc1-released.md b/_posts/2014-02-16-cayenne-31rc1-released.md
deleted file mode 100644
index a1d2d8c..0000000
--- a/_posts/2014-02-16-cayenne-31rc1-released.md
+++ /dev/null
@@ -1,35 +0,0 @@
----
-layout: post
-title:  Cayenne 3.1 Release Candidate is Available
-date:   2014-2-16
----
-
-We are glad to announce a release candidate of Cayenne 3.1. Apache Cayenne is one of the leading open source Java ORMs with a simple learning curve and many unique features like generic objects, remote object persistence, etc. It's been a while since the last beta, giving us an opportunity to collect feedback from the community, fix bugs and improve the documentation. Still 3.1 has remained very stable, and the new RC1 is really a drop-in replacement for the previous beta version. The next 3.1 release will likely be a "final" (aka "GA"). Most of the remaining work will focus on user documentation. 
-
-Cayenne can be downloaded from [here](/download.html). Give it a try and give us feedback!
-
-A full list of changes in this release:
-
-* CAY-1813 Missing ObjEntity Attribute Validation with Duplicate DbEntity Columns
-* CAY-1822 Make DataMap editor fields wider 
-
-Bug fixes in this release:
-
-* CAY-1736 IllegalArgumentException when synchronizing entities in the Modeler
-* CAY-1794 Duplicate attributes in discriminator columns of PersistentDescriptor
-* CAY-1797 NPE importing DataMap
-* CAY-1799 ROP: Server can't deserialize LIKE expression with pattern already compiled
-* CAY-1804 Serialisation of long[] type was not working correctly. 
-* CAY-1806 Error importing eomodel 
-* CAY-1809 Remove 'final' modifier from Cayenne, HessianUtil, PropertyComparator, ConversionUtil, and LinkedDeque
-* CAY-1818 Fix copyright year in the Modeler "about" panel
-* CAY-1827 EhCache region corresponding to a cache group loses its settings after 'removeGroup'
-* CAY-1845 Upgrade javadoc plugin to 2.9.1 
-* CAY-1854 driver.xsd schema shouldn't be in 3.1 - it is no longer applicable 
-* CAY-1856 Expression.expWithParameters does not work when parameters are placed in the inline collection 
-* CAY-1866 Change in General Modeler Preferences reverts old settings to default value
-* CAY-1868 Select contention with multiple contexts 
-* CAY-1874 DB2 Procedure action ignores the first result set
-* CAY-1880 objectStore snapshots never cleared from RefreshQuery when "use shared cache" unchecked
-* CAY-1881 CayenneModeler (Mac version) doesn't work with Java 7
-* CAY-1885 Null value in subclass's field.

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/d6657b82/_posts/2014-09-29-cayenne-31-released.md
----------------------------------------------------------------------
diff --git a/_posts/2014-09-29-cayenne-31-released.md b/_posts/2014-09-29-cayenne-31-released.md
deleted file mode 100644
index fdae297..0000000
--- a/_posts/2014-09-29-cayenne-31-released.md
+++ /dev/null
@@ -1,40 +0,0 @@
----
-layout: post
-title:  The Apache Software Foundation Announces Apache™ Cayenne™ v3.1
-date:   2014-9-29
----
-
-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.
-
-"With the launch of version 3.1, Apache Cayenne has continued to evolve its mature 12 year-old library by introducing 125 new features," 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.
-
-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's largest publicly-available legal index) as well as dozens of high-demand applications and Websites accessed by millions of users each day.
-
-Apache Cayenne v3.1 is the result of 4 years of development. Notable new features and improvements include:
-
-* easier configuration and embedding in any type of application;
-* highly configurable runtime, enabled by one of the industry'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;
-* 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 --from cache provider to SQL log format to DataSource lookup strategy and much more;
-* 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;
-* extended persistent events model from simple per-object events to more higher-level "workflows" that can be configured with app-specific annotations on persistent classes. Cayenne ships with "cayenne-lifecycle" 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
-
-"Developers who are seeking an alternate to EJB/Hibernate might find Cayenne's graphical modeler, reverse database engineering, easy to use query API and flexible context model a joy to work with," said Aristedes Maniatis, member of the Apache Cayenne Project Management Committee and CEO of ish.
-
-"We use Apache Cayenne as the ORM for a large and complex budgeting project for around twenty government organizations," said Daniel Abrams, CEO of MassLight. "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'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 -- Cayenne does all the work. Since switching to Cayenne, there haven'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."
-
-"We use Cayenne in our system to collect, quality control and distribute world coverage nautical charts to navies, pilots, inspectors and several thousand vessels," said Tore Halset, Development Manager at Electronic Chart Centre and PRIMAR. "We have been happy users of Apache Cayenne since 2005 and are now on version 3.1."
-
-"Apache Cayenne is a core service in Avoka Transact, an engagement platform for multi-channel sales and service transactions," said Malcolm Edgar, Vice President of Engineering at Avoka.
-
-"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."
-In addition, Apache Cayenne's HTML documentation and tutorials have been completely revised and available in PDF for the first time.
-
-"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," added Adamchik.
-
-### Availability and Oversight
-Cayenne v3.1 is available immediately as a free download from [http://cayenne.apache.org/download.html](http://cayenne.apache.org/download.html). 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's day-to-day operations, including community development and product releases. For documentation and ways to become involved with Apache Cayenne, visit [http://cayenne.apache.org/](http://cayenne.apache.org/) and @ApacheCayenne on Twitter.
-
-### About The Apache Software Foundation (ASF)
-Established in 1999, the all-volunteer Foundation oversees more than two hundred leading Open Source projects, including Apache HTTP Server --the world's most popular Web server software. Through the ASF's meritocratic process known as "The Apache Way," 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's official user conference, trainings, and expo. The ASF is a US 501(c)(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 [http://www.a
 pache.org/](http://www.apache.org/) or follow @TheASF on Twitter.
-

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/d6657b82/_posts/2015-03-18-cayenne-40m2-released.md
----------------------------------------------------------------------
diff --git a/_posts/2015-03-18-cayenne-40m2-released.md b/_posts/2015-03-18-cayenne-40m2-released.md
deleted file mode 100644
index acff648..0000000
--- a/_posts/2015-03-18-cayenne-40m2-released.md
+++ /dev/null
@@ -1,189 +0,0 @@
----
-layout: post
-title:  Cayenne 4.0 Milestone 2 Released
-date:   2015-3-18
----
-
-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.
-
-Cayenne can be downloaded from [here](/download.html).
-
-### Fluent Type-Safe Query API
-
-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:
-
-	Artist a = ObjectSelect
-        .query(Artist.class)
-        .where(Artist.NAME.eq("Picasso"))
-        .selectOne(context);
-
- A related addition is positional bindings in Expression, SQLTemplate and the new query classes. Using the new API you'll avoid boilerplate in the most-commonly written Cayenne code, all this with full support for generics and type safety. The "old" style of bean-like queries (SelectQuery) is still supported.
-
-### Powerful Automated Workflow with 'cdbimport'
-
-'cdbimport' (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.
-
-### OSGI Support
-
-All Cayenne runtime jars have proper OSGi manifests and can be used as OSGi bundles. Here is a [demo](https://github.com/andrus/cayenne-osgi-example) 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.:
-
-    Module osgiModule = 
-       OsgiModuleBuilder.forProject(Activator.class).withDriver(Driver.class).module();
-
-### ServerRuntimeBuilder and Mapping-Free Runtime
-
-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:
-
-    ServerRuntime runtime = new ServerRuntimeBuilder("myproject")
-        .addConfigs("cayenne-project1.xml", "cayenne-project2.xml")
-        .addModule(binder -> binder.bind(JdbcEventLogger.class).toInstance(myLogger))
-        .dataSource(myDataSource)
-        .build();
-
- 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).
-
-### Transparent Database Cryptography with 'cayenne-crypto'
-
-Cayenne now includes [cayenne-crypto.jar](http://search.maven.org/#artifactdetails|org.apache.cayenne|cayenne-crypto|4.0.M2|jar), 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:
-
-    Module cryptoModule = new CryptoModuleBuilder()
-       .keyStore("file:///mykeystore", "changeit".toCharArray(), "keyalias")
-       .compress()
-       .build();
-
- By default columns that start with 'CRYPTO_' are designated as encrypted, but this is [fully customizable](https://github.com/apache/cayenne/blob/master/cayenne-crypto/src/main/java/org/apache/cayenne/crypto/map/ColumnMapper.java). The rest of your application code doesn't need to worry about cryptography, and would look like a regular Cayenne application.
-
-
-### DI Container Decorators
-
-In addition to overriding services in DI container, now Cayenne would allow to supply decorators. True to the "smallest-footprint" 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:
-
-	public class MyInterfaceDecorator implements MyInterface {
-
-	    private MyInterface delegate;
-
-	    public MyInterfaceDecorator(@Inject MyInterface delegate) {
-	        this.delegate = delegate;
-	    }
-
-	    @Override
-	    public String getName() {
-	        return "<" + delegate.getName() + ">";
-	    }
-	}
-
-	Module module = new Module() {
-
-	    @Override
-	    public void configure(Binder binder) {
-	        binder.decorate(MyInterface.class).before(MyInterfaceDecorator.class);
-	    }
-	};
-
-### Stability Improvements
-
-We got rid of the hated "runtime" ObjRelationships that caused random issues, and fixed more than 30 other bugs.
-
-
-### A full list of changes in this release:
-
-* CAY-1267 Some changes to LogDialog
-* CAY-1826 Merge Entity Attributes and Relationships tabs together with one toolbar.
-* CAY-1839 Allow to link DataMaps to DataNodes from DataNode editor.
-* CAY-1841 Filters for Left-hand project navigator
-* CAY-1842 Remove Listeners support from the Modeler 
-* CAY-1843 DataMap v7: Stop saving listeners in DataMap, add upgrade handler
-* CAY-1845 Upgrade javadoc plugin to 2.9.1 
-* CAY-1846 Reworking of callback mapping
-* CAY-1847 Make ConverterFactory extensible
-* CAY-1848 New method: ObjectContext.selectOne(Select query) 
-* CAY-1851 Generate default serialVersionUID for generated java classes to avoid eclipse warnings
-* CAY-1852 Straighten thread model and synchronization in the Modeler 
-* CAY-1855 Iterated and paginated queries must print result counts 
-* CAY-1856 Expression.expWithParameters does not work when parameters are placed in the inline collection 
-* CAY-1860 In-memory matching of DataObjects against ObjectId or int
-* CAY-1861 Remove runtime relationships
-* CAY-1870 cgen - smarter default for 'superPkg' and 'destDir'
-* CAY-1882 Porting to OSGi environment
-* CAY-1883 Clean up Cayenne maven structure
-* CAY-1886 cayenne-di module reorg, new exceptions
-* CAY-1890 Remove Cayenne-level buffering when retrieving LOBs
-* CAY-1894 Support native PK generation using sequences for H2 databases
-* CAY-1899 ServerRuntimeBuilder
-* CAY-1900 Allow DataNode name to be used as a root of SQLTemplate
-* CAY-1901 Config-free ServerRuntime
-* CAY-1904 Simple injection-friendly constructor for AuditableFilter
-* CAY-1907 RowReaderFactory
-* CAY-1908 Refactor all SQLActions to work with DataNode
-* CAY-1911 BatchQuery refactoring - make Iterable
-* CAY-1912 BatchQueryBuilder refactoring
-* CAY-1913 Refactor org.apache.cayenne.access.trans into query-specific packages
-* CAY-1914 Refactor EJBQL-related translators to a standalone 'org.apache.cayenne.access.translator.ejbql' package
-* CAY-1915 BatchTranslator instead of performing bindings should return binding object whose values can be altered
-* CAY-1916 cayenne-crypto module that enables data encryption for certain model attributes
-* CAY-1918 Replace Oracle LOB hacks with JDBC 4.0 API
-* CAY-1919 Split DataNode creation into a separate DataNodeFactory
-* CAY-1920 DI: add support for decorators
-* CAY-1921 Support for schema selection in 'Migrate Database Schema'
-* CAY-1923 Optimize BatchTranslator - use fixed size array of BatchParameterBinding
-* CAY-1925 cayenne-crypto: add optional compression to the encryption pipeline
-* CAY-1928 Second INNER join generated for OUTER flattended relationships in disjoint prefetches
-* CAY-1929 Property.outer method to build OUTER join properties
-* CAY-1932 Improved Handling for Scalar Parameters Converting Expressions to EJBQL
-* CAY-1933 Problems in Evaluating EJBQL Statements with Integral Literals > Integer.MAX_VALUE
-* CAY-1934 A problem exists where the escape character is not conveyed in the EJBQL when toEJBQL() is invoked on the expression.
-* CAY-1936 ServerRuntime.getDataSource() returning DataSource of a default DataNode
-* CAY-1937 Make Transaction an interface
-* CAY-1938 Create a DI factory for transactions, get rid of TransactionDelegate and modeler config for tx policies
-* CAY-1939 DataDomain must use injectable TransactionManager
-* CAY-1946 CDbimport improvements
-* CAY-1949 Search in configuration fields (Catalog, Schema) in DbEntity
-* CAY-1952 Undeprecate (actually restore) ObjectContext.deleteObject(..)
-* CAY-1953 Redo ResultIteratorCallback to handle single row callback instead of iterator
-* CAY-1954 Make Cayenne class constructor protected
-* CAY-1958 SelectById - a new full-featured select query to get objects by id
-* CAY-1959 ObjectSelect query - a fluent API alternative to SelectQuery
-* CAY-1960 ExpressionFactory.exp(..) , and(..), or(..)
-* CAY-1962 Implement CayenneTable column resize on double-click on the header separator
-* CAY-1965 Change version from 3.2 to 4.0
-* CAY-1966 SQLTemplate/SQLSelect positional parameter binding
-* CAY-1967 Deprecate SQLTemplate parameter batches
-* CAY-1968 SQLSelect cleanup and omissions
-* CAY-1971 Variants of Property.like(..) : contains(..), startsWith(..), endsWith(..)
-* CAY-1972 A property to override DataSources of multi-module projects 
-* CAY-1981 Add support of JDBC 4.0 N-types (nchar, nvarchar, longnvarchar, nclob)
-* CAY-1984 cdbimport doesn't flatten many to many relationships
-
-### Bug Fixes:
-
-* CAY-1480 Implement cross-db functional expressions
-* CAY-1695 Unexpected null value in bidirectional one-to-one prefetch 
-* CAY-1736 IllegalArgumentException when synchronizing entities in the Modeler
-* CAY-1795 "Invisible" ObjAttribute in subclass
-* CAY-1796 ROP: All entity's to-many relationships getting faulted from database when using it as a parameter in qualifier expression
-* CAY-1797 NPE importing DataMap
-* CAY-1798 ROP: Reverse relationships of prefetched entity objects are not filled during server to client objects conversion
-* CAY-1799 ROP: Server can't deserialize LIKE expression with pattern already compiled
-* CAY-1818 Fix copyright year in the Modeler "about" panel
-* CAY-1834 Exception: ToManyList cannot be cast to DataObject 
-* CAY-1857 Problem with hotkeys 
-* CAY-1859 NullPointerException when importing EOModel 
-* CAY-1863 Make determining whether a particular database type supports length adapter-specific not universal
-* CAY-1866 Change in General Modeler Preferences reverts old settings to default value
-* CAY-1868 Select contention with multiple contexts 
-* CAY-1869 ResultIterator from cayenne-client dependency is subclassed from org.apache.cayenne.access.ResultIterator which is present only in cayenne-server dependency 
-* CAY-1874 DB2 Procedure action ignores the first result set
-* CAY-1877 In-memory evaluation of expression may fail with UnsupportedOpeartionException depending on order of nodes
-* CAY-1880 objectStore snapshots never cleared from RefreshQuery when "use shared cache" unchecked
-* CAY-1881 CayenneModeler (Mac version) doesn't work with Java 7
-* CAY-1885 Null value in subclass's field.
-* CAY-1905 Multi-step prefetching NPE : 1..N..1 with absent N and root with no qualifier
-* CAY-1943 XML file not deleted when a DataMap is deleted from the project
-* CAY-1961 Fix RemoveAction for DataMaps in ProjectTree
-* CAY-1964 Fix convertAdditionalDataMaps() in CayenneGeneratorMojo.java
-* CAY-1973 error while generating classes
-* CAY-1974 Copy/Paste DbEntiry throws exception
-* CAY-1978 ESCAPE clause should be included in LIKE parenthesis
-* CAY-1979 Prefetches on Many-to-Many Relationships with Longvarchar
-* CAY-1980 'mvn cayenne-modeler:run' seems to be broken in 4.0
-* CAY-1988 ServerRuntimeBuilder: synthetic DataNode does not have domain's DataMaps linked

http://git-wip-us.apache.org/repos/asf/cayenne-website/blob/d6657b82/_posts/2016-02-12-cayenne-40m3-released.md
----------------------------------------------------------------------
diff --git a/_posts/2016-02-12-cayenne-40m3-released.md b/_posts/2016-02-12-cayenne-40m3-released.md
deleted file mode 100644
index 9664df2..0000000
--- a/_posts/2016-02-12-cayenne-40m3-released.md
+++ /dev/null
@@ -1,93 +0,0 @@
----
-layout: post
-title:  Cayenne 4.0 Milestone 3 Released
-date:   2016-2-12
----
-
-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 [UPGRADE.txt](https://github.com/apache/cayenne/blob/4.0.M3/docs/doc/src/main/resources/UPGRADE.txt).
-
-Cayenne can be downloaded from [here](/download.html).
-
-### Java 7
-
-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.
-
-### Java 8 Date/Time and Joda-Time Support
-
-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:
-
-    Module java8Module = new CayenneJava8Module();
-    this.runtime = new ServerRuntime("cayenne-project.xml", java8Module);
-
-### Improvements in Query API
-
-All new fluent query classes (ObjectSelect, SQLSelect, SelectById) have the following new methods:
-
-* `List<T> select(ObjectContext context);`
-* `T selectOne(ObjectContext context);`
-* `T selectFirst(ObjectContext context);`
-* `void iterate(ObjectContext context, ResultIteratorCallback<T> callback);`
-* `ResultIterator<T> iterator(ObjectContext context);`
-* `ResultBatchIterator<T> batchIterator(ObjectContext context, int size);`
-
-The "old" style SelectQuery is still supported and also includes these methods. 
-
-Also ResultIterator and ResultBatchIterator are both AutoCloseable now. So you will be able to use try-with-resources with them.
-
-### Non-blocking DataSource
-
-Default Cayenne DataSource provider is switched to a non-blocking implementation that has a much better concurrency compared to the old version.
-
-### DBCP2
-
-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 [UPGRADE.txt](https://github.com/apache/cayenne/blob/4.0.M3/docs/doc/src/main/resources/UPGRADE.txt).
-
-### Capturing a stream of commit changes
-
-Sometimes it is very useful to capture all or parts of "commit log" 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've made a few attempts to solve this before. M3 features new and the most comprehensive solution. There is a [PostCommitBuilder](https://github.com/apache/cayenne/blob/4.0.M3/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/postcommit/PostCommitModuleBuilder.java) class that helps to create a special DI module with all required extensions for this to work. It allows to register [PostCommitListeners](https://github.com/apache/cayenne/blob/4.0.M3/cayenne-lifecycle/src/main/java/org/apache/cayenne/lifecycle/postcommit/PostCommitListener.java) that will receive an event on every commit, containing a full commit log object.
-
-### A full list of changes in this release:
-
-* CAY-1626 Add JodaTime DateTime support
-* CAY-1902 Implement resolving Db paths for DataObjects
-* CAY-1991 More control over generated String property names
-* CAY-1992 Allow to exclude DataMap java class from Modeler class generation
-* CAY-1995 Add support for iterators to Select
-* CAY-2001 Saving a display state of Project
-* CAY-2004 EJBQL: Support for ordering on aggregate expressions
-* CAY-2007 Refactoring SelectTranslator for better extensibility
-* CAY-2008 Connection pool refactoring and validation query support in Cayenne DataSource
-* CAY-2009 Non-blocking connection pool
-* CAY-2010 DataSourceBuilder to help users create pooling and non-pooling DataSources
-* CAY-2011 Support for Java 8 date and time types
-* CAY-2012 ObjectSelect, SelectById: eliminating methods that reset query state
-* CAY-2013 In-memory evaluation of DB expressions - non-id attributes
-* CAY-2023 Decouple the use of ResourceLocator
-* CAY-2025 Support for DBCP2
-* CAY-2026 Java 7
-* CAY-2027 Support for Expression outer join syntax in EJBQL
-* CAY-2028 Wrap DataChannelFilter calls in the main transaction
-* CAY-2029 Allow out-of-order insertion into DI lists
-* CAY-2030 Capturing a stream of commit changes
-* CAY-2035 Autobind items added to collections (Cayenne DI)
-* CAY-2042 Remove an arbitrary limitation on 1000 runtime DbRelationships
-* CAY-2043 ServerRuntimeBuilder: use DataDomain name for the default DataNode
-* CAY-2044 Collection setter for to-many relationships
-* CAY-2045 Add autosuggestion fields to choose attributes and relationships
-
-### Bug Fixes:
-
-* CAY-1977 Cleanup Modeler reverse engineering functionality
-* CAY-1987 Widen types before performing in-memory evaluation of qualifiers using j.l.Number subclasses
-* CAY-1990 Incorrect display of the raw SQL query in Modeler
-* CAY-1993 Reverse Engineering does not work with PostgreSQL database
-* CAY-1994 Modeler Migration Tool Shows No Changes
-* CAY-1997 Difference in NULL handling inside the path between PropertyUtils and DataObject.readNestedProperty
-* CAY-1998 Speeding up PropertyUtils
-* CAY-1999 Unneeded Property import for superclasses with no properties
-* CAY-2003 cdbimport doesn't work properly with several includeTable tags
-* CAY-2015 Joint prefetches combined with DisjointById prefetches return null incorrectly
-* CAY-2020 typo: correction to upper alpha range in Rot13PasswordEncoder
-* CAY-2041 "cayenne.jdbc.max_connections" and "cayenne.jdbc.min_connections" command line options are ignored
-* CAY-2047 Relationship mapping with target inheritance
-* CAY-2049 Changing the Relationship name in ObjRelationship Inspector has no effect
\ No newline at end of file