How to announce a release
Project: http://git-wip-us.apache.org/repos/asf/calcite/repo Commit: http://git-wip-us.apache.org/repos/asf/calcite/commit/99902111 Tree: http://git-wip-us.apache.org/repos/asf/calcite/tree/99902111 Diff: http://git-wip-us.apache.org/repos/asf/calcite/diff/99902111 Branch: refs/remotes/julianhyde/master Commit: 999021115689521694754d1c766feda6da467e8d Parents: 6acb28d Author: Julian Hyde <[email protected]> Authored: Fri Jan 22 13:15:57 2016 -0800 Committer: Julian Hyde <[email protected]> Committed: Fri Jan 22 13:29:58 2016 -0800 ---------------------------------------------------------------------- site/README.md | 5 ++- site/_docs/howto.md | 18 +++++++-- site/_posts/2016-01-22-release-1.6.0.md | 59 ++++++++++++++++++++++++++++ 3 files changed, 77 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/calcite/blob/99902111/site/README.md ---------------------------------------------------------------------- diff --git a/site/README.md b/site/README.md index 23cab80..8f78140 100644 --- a/site/README.md +++ b/site/README.md @@ -25,7 +25,7 @@ This directory contains the code for the Apache Calcite web site, ## Setup 1. `cd site` -2. svn co https://svn.apache.org/repos/asf/calcite/site target +2. `svn co https://svn.apache.org/repos/asf/calcite/site target` 3. `sudo apt-get install rubygems ruby2.1-dev zlib1g-dev` (linux) 4. `sudo gem install bundler github-pages jekyll` 5. `bundle install` @@ -34,7 +34,8 @@ This directory contains the code for the Apache Calcite web site, 1. `cd ..` 2. `mvn -DskipTests site` -3. `mv target/site/apidocs site/target` +3. `rm -rf site/target/apidocs site/target/testapidocs` +4. `mv target/site/apidocs target/site/testapidocs site/target` ## Running locally http://git-wip-us.apache.org/repos/asf/calcite/blob/99902111/site/_docs/howto.md ---------------------------------------------------------------------- diff --git a/site/_docs/howto.md b/site/_docs/howto.md index 5389147..e64e5af 100644 --- a/site/_docs/howto.md +++ b/site/_docs/howto.md @@ -689,6 +689,11 @@ shortened URLs for the vote proposal and result emails. Examples: After a successful release vote, we need to push the release out to mirrors, and other tasks. +Choose a release date. +This is based on the time when you expect to announce the release. +This is usually a day after the vote closes. +Remember that UTC date changes at 4pm Pacific time. + In JIRA, search for [all issues resolved in this release](https://issues.apache.org/jira/issues/?jql=project%20%3D%20CALCITE%20and%20fixVersion%20%3D%201.5.0%20and%20status%20%3D%20Resolved%20and%20resolution%20%3D%20Fixed), and do a bulk update changing their status to "Closed", @@ -724,9 +729,9 @@ svn add apache-calcite-X.Y.Z svn ci {% endhighlight %} -Svnpubsub will publish to -https://dist.apache.org/repos/dist/release/calcite and propagate to -http://www.apache.org/dyn/closer.cgi/calcite within 24 hours. +Svnpubsub will publish to the +[release repo](https://dist.apache.org/repos/dist/release/calcite) and propagate to the +[mirrors](http://www.apache.org/dyn/closer.cgi/calcite) within 24 hours. If there are now more than 2 releases, clear out the oldest ones: @@ -741,9 +746,16 @@ The old releases will remain available in the Add a release note by copying [site/_posts/2015-11-10-release-1.5.0.md]({{ site.sourceRoot }}/site/_posts/2015-11-10-release-1.5.0.md), +generate the javadoc and copy to `site/target/apidocs` and `site/target/testapidocs`, [publish the site](#publish-the-web-site), and check that it appears in the contents in [news](http://localhost:4000/news/). +After 24 hours, announce the release by sending an email to +[[email protected]](https://mail-archives.apache.org/mod_mbox/www-announce/). +You can use +[the 1.6.0 announcement](https://mail-archives.apache.org/mod_mbox/www-announce/201601.mbox/%3C8DB4C1E5-B322-4A33-8E8F-9858FA6A1119%40apache.org%3E) +as a template. Be sure to include a brief description of the project. + ## Publishing the web site (for Calcite committers) {: #publish-the-web-site} http://git-wip-us.apache.org/repos/asf/calcite/blob/99902111/site/_posts/2016-01-22-release-1.6.0.md ---------------------------------------------------------------------- diff --git a/site/_posts/2016-01-22-release-1.6.0.md b/site/_posts/2016-01-22-release-1.6.0.md new file mode 100644 index 0000000..beb5267 --- /dev/null +++ b/site/_posts/2016-01-22-release-1.6.0.md @@ -0,0 +1,59 @@ +--- +layout: news_item +date: "2016-01-22 12:00:00 +0000" +author: jhyde +version: 1.6.0 +categories: [release] +tag: v1-6-0 +sha: c4d346b +--- +<!-- +{% comment %} +Licensed to the Apache Software Foundation (ASF) under one or more +contributor license agreements. See the NOTICE file distributed with +this work for additional information regarding copyright ownership. +The ASF licenses this file to you 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. +{% endcomment %} +--> + +As usual in this release, there are new SQL features, improvements to +planning rules and Avatica, and lots of bug fixes. We'll spotlight a +couple of features make it easier to handle complex queries. + +[<a href="https://issues.apache.org/jira/browse/CALCITE-816">CALCITE-816</a>] +allows you to represent sub-queries (`EXISTS`, `IN` and scalar) as +<a href="{{ site.apiRoot }}/org/apache/calcite/rex/RexSubQuery.html">RexSubQuery</a>, +a kind of expression in the relational algebra. Until +now, the sql-to-rel converter was burdened with expanding sub-queries, +and people creating relational algebra directly (or via +<a href="{{ site.apiRoot }}/org/apache/calcite/tools/RelBuilder.html">RelBuilder</a>) +could only create 'flat' relational expressions. Now we have planner +rules to expand and de-correlate sub-queries. + +Metadata is the fuel that powers query planning. It includes +traditional query-planning statistics such as cost and row-count +estimates, but also information such as which columns form unique +keys, unique and what predicates are known to apply to a relational +expression's output rows. From the predicates we can deduce which +columns are constant, and following +[<a href="https://issues.apache.org/jira/browse/CALCITE-1023">CALCITE-1023</a>] +we can now remove constant columns from `GROUP BY` keys. + +Metadata is often computed recursively, and it is hard to safely and +efficiently calculate metadata on a graph of `RelNode`s that is large, +frequently cyclic, and constantly changing. +[<a href="https://issues.apache.org/jira/browse/CALCITE-794">CALCITE-794</a>] +introduces a context to each metadata call. That context can detect +cyclic metadata calls and produce a safe answer to the metadata +request. It will also allow us to add finer-grained caching and +further tune the metadata layer.
