[CALCITE-4976] Release Calcite 1.30.0
diff --git a/NOTICE b/NOTICE
index aa41bc5..fb342f9 100644
--- a/NOTICE
+++ b/NOTICE
@@ -1,5 +1,5 @@
 Apache Calcite
-Copyright 2012-2021 The Apache Software Foundation
+Copyright 2012-2022 The Apache Software Foundation
 
 This product includes software developed at
 The Apache Software Foundation (http://www.apache.org/).
diff --git a/README b/README
index 4543b36..3365c5e 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-Apache Calcite release 1.29.0
+Apache Calcite release 1.30.0
 
 This is a source or binary distribution of Apache Calcite.
 
diff --git a/site/_docs/history.md b/site/_docs/history.md
index 98fbeed..4f06e51 100644
--- a/site/_docs/history.md
+++ b/site/_docs/history.md
@@ -29,6 +29,157 @@
 [downloads page]({{ site.baseurl }}/downloads/).
 
 
+## <a href="https://github.com/apache/calcite/releases/tag/calcite-1.30.0">1.30.0</a> / 2022-03-20
+{: #v1-30-0}
+
+This release comes over two months after [1.29.0](#v1-29-0),
+contains contributions from 29 authors,
+and resolves 36 issues.
+
+Among others, it is worth highlighting the following.
+
+* [Babel parser support MySQL NULL-safe equal operator '<=>'](https://issues.apache.org/jira/browse/CALCITE-4980)
+* [Support SQL hints for temporal table join](https://issues.apache.org/jira/browse/CALCITE-4967)
+* [Fluent test fixtures so that dependent projects can write parser, validator and rules tests](https://issues.apache.org/jira/browse/CALCITE-4885)
+* [Vulnerability issue CVE-2021-27568 fixed](https://issues.apache.org/jira/browse/CALCITE-5030)
+
+Compatibility: This release is tested on Linux, macOS, Microsoft Windows;
+using JDK/OpenJDK versions 8 to 17;
+Guava versions 19.0 to 31.0.1-jre;
+other software versions as specified in gradle.properties.
+
+Contributors to this release:
+
+Alessandro Solimando,
+Bill Neil,
+Chen Kai,
+Eugen Stan,
+Feng Zhu,
+Jacques Nadeau,
+Jake Xie,
+Jay Narale,
+Jiatao Tao,
+Jing Zhang,
+Julian Hyde,
+LM Kang,
+Liya Fan (release manager),
+Marco Jorge,
+Marieke Gueye,
+NobiGo,
+Roman Puchkovskiy,
+Ruben Quesada Lopez,
+Scott Reynolds,
+Soumyakanti Das,
+Stamatis Zampetakis,
+Vova Vysotskyi,
+Will Noble,
+Xiong Duan,
+Yanjing Wang,
+Yiqun Zhang,
+Xurenhe,
+Zhe Hu,
+mans2singh.
+
+#### New features
+{: #new-features-1-30-0}
+
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-4980">CALCITE-4980</a>]
+  Babel parser support MySQL NULL-safe equal operator '<=>'
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-4967">CALCITE-4967</a>]
+  Support SQL hints for temporal table join
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-4885">CALCITE-4885</a>]
+  Fluent test fixtures so that dependent projects can write parser, validator and rules tests
+
+#### Bug-fixes, API changes and minor enhancements
+{: #fixes-1-30-0}
+
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-5040">CALCITE-5040</a>]
+  `SqlTypeFactoryTest.testUnknownCreateWithNullabilityTypeConsistency` fails
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-5019">CALCITE-5019</a>]
+  Avoid multiple scans when table is `ProjectableFilterableTable` and projections and filters act on different columns
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-5011">CALCITE-5011</a>]
+  `CassandraAdapterDataTypesTest` fails with initialization error
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-5008">CALCITE-5008</a>]
+  Ignore synthetic and static methods in `MetadataDef`
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-4997">CALCITE-4997</a>]
+  Keep `APPROX_COUNT_DISTINCT` in some `SqlDialect`s
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-4996">CALCITE-4996</a>]
+  In `RelJson`, add a `readExpression` method that converts JSON to a `RexNode` expression
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-4995">CALCITE-4995</a>]
+  `AssertionError` caused by `RelFieldTrimmer` on `SEMI/ANTI` join
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-4994">CALCITE-4994</a>]
+  SQL-to-RelNode conversion is slow if table contains hundreds of fields
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-4991">CALCITE-4991</a>]
+  Improve `RuleEventLogger` to also print input rels in `FULL_PLAN` mode
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-4988">CALCITE-4988</a>]
+  `((A IS NOT NULL OR B) AND A IS NOT NULL)` can't be simplify to `(A IS NOT NULL)` When `A` is deterministic
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-4986">CALCITE-4986</a>]
+  Make `HepProgram` thread-safe
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-4968">CALCITE-4968</a>]
+  Use `TOP N` for MsSQL instead of `FETCH` without `OFFSET`
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-4965">CALCITE-4965</a>]
+  `IS NOT NULL` failed in Elasticsearch Adapter
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-4963">CALCITE-4963</a>]
+  Make it easier to implement interface `SqlDialectFactory`
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-4953">CALCITE-4953</a>]
+  Deprecate `TableAccessMap` class
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-4952">CALCITE-4952</a>]
+  Introduce a simplistic `RelMetadataQuery` option
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-4912">CALCITE-4912</a>]
+  Confusing javadoc of `RexSimplify.simplify`
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-4901">CALCITE-4901</a>]
+  JDBC adapter incorrectly adds `ORDER BY` columns to the `SELECT` list of generated SQL query
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-4877">CALCITE-4877</a>]
+  Support Snapshot in `RelMdColumnOrigins`
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-4872">CALCITE-4872</a>]
+  Add `UNKNOWN` value to enum `SqlTypeName`, distinct from the `NULL` type
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-4702">CALCITE-4702</a>]
+  Error when executing query with `GROUP BY` constant via JDBC adapter
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-4683">CALCITE-4683</a>]
+  IN-list converted to JOIN throws type mismatch exception
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-4323">CALCITE-4323</a>]
+  If a view definition has an `ORDER BY` clause, retain the sort if the view is used in a query at top level
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-4054">CALCITE-4054</a>]
+  `RepeatUnion` containing a `Correlate` with a `transientScan` on its RHS causes NPE
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3673">CALCITE-3673</a>]
+  `ListTransientTable` should not leave tables in the schema
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-3627">CALCITE-3627</a>]
+  Incorrect null semantic for `ROW` function
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-1794">CALCITE-1794</a>]
+  Expressions with numeric comparisons are not simplified when `CAST` is present
+
+#### Build and test suite
+{: #build-1-30-0}
+
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-5006">CALCITE-5006</a>]
+  Gradle tasks for launching JDBC integration tests are not working
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-4960">CALCITE-4960</a>]
+  Enable unit tests in Elasticsearch Adapter
+
+#### Dependency version upgrade
+{: #dependency-1-30-0}
+
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-5030">CALCITE-5030</a>]
+  Upgrade jsonpath version from 2.4.0 to 2.7.0
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-5025">CALCITE-5025</a>]
+  Upgrade commons-io version from 2.4 to 2.11.0
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-5007">CALCITE-5007</a>]
+  Upgrade H2 database version to 2.1.210
+* [<a href="https://issues.apache.org/jira/browse/CALCITE-4973">CALCITE-4973</a>]
+  Upgrade log4j2 version to 2.17.1
+
+#### Web site and documentation
+{: #site-1-30-0}
+
+* Site: Update PMC Chair
+* Site: Add external resources section in the community page
+* Site: Add "calcite-clj - Use Calcite with Clojure" in talks section
+* Site: Add Alessandro Solimando as committer
+* Site: Change the javadoc title to Apache Calcite API
+* Site: For tables that display results, center the content horizontally
+* Site: Add syntax highlighting to SQL statements
+* Site: Improve HTML tables display & update CSV tutorial
+
 ## <a href="https://github.com/apache/calcite/releases/tag/calcite-1.29.0">1.29.0</a> / 2021-12-26
 {: #v1-29-0}
 
diff --git a/site/_docs/howto.md b/site/_docs/howto.md
index c5d1df1..e3e6201 100644
--- a/site/_docs/howto.md
+++ b/site/_docs/howto.md
@@ -39,8 +39,8 @@
 then build using Gradle:
 
 {% highlight bash %}
-$ tar xvfz apache-calcite-1.29.0-src.tar.gz
-$ cd apache-calcite-1.29.0-src
+$ tar xvfz apache-calcite-1.30.0-src.tar.gz
+$ cd apache-calcite-1.30.0-src
 $ gradle build
 {% endhighlight %}
 
@@ -605,7 +605,7 @@
  * resolve the issue (do not close it as this will be done by the release
 manager);
  * select "Fixed" as resolution cause;
- * mark the appropriate version (e.g., 1.29.0) in the "Fix version" field;
+ * mark the appropriate version (e.g., 1.30.0) in the "Fix version" field;
  * add a comment (e.g., "Fixed in ...") with a hyperlink pointing to the commit
 which resolves the issue (in GitHub or GitBox), and also thank the contributor
 for their contribution.
@@ -693,8 +693,11 @@
   is starting and therefore `master` branch is in code freeze until further notice.
 * Set up signing keys as described above.
 * Make sure you are using JDK 8 (not 9 or 10).
-* Make sure `master` branch and `site` branch are in sync, i.e. there is no commit on `site` that has not
-  been applied also to `master`. If you spot missing commits then port them to `master`.
+* Make sure `master` branch and `site` branch are in sync, i.e. there is no
+  commit on `site` that has not been applied also to `master`.
+  We are talking about the commit content, you need to pay attention to the commit message
+  and change, not hash: it is normal to have the same change in `site` and
+  `master`, but with different hashes. If you spot missing commits then port them to `master`.
 * Check that `README` and `site/_docs/howto.md` have the correct version number.
 * Check that `site/_docs/howto.md` has the correct Gradle version.
 * Check that `NOTICE` has the current copyright year.
@@ -926,7 +929,8 @@
 
 Svnpubsub will publish to the
 [release repo](https://dist.apache.org/repos/dist/release/calcite) and propagate to the
-[mirrors](https://www.apache.org/dyn/closer.cgi/calcite) within 24 hours.
+[mirrors](https://www.apache.org/dyn/closer.cgi/calcite) almost immediately.
+So there is no need to wait more than fifteen minutes before announcing the release.
 
 If there are now more than 2 releases, clear out the oldest ones:
 
diff --git a/site/_posts/2022-03-20-release-1.30.0.md b/site/_posts/2022-03-20-release-1.30.0.md
new file mode 100644
index 0000000..090cec4
--- /dev/null
+++ b/site/_posts/2022-03-20-release-1.30.0.md
@@ -0,0 +1,42 @@
+---
+layout: news_item
+date: "2022-03-20 00:00:00 +0800"
+author: liyafan82
+version: 1.30.0
+categories: [release]
+tag: v1-30-0
+sha:
+---
+<!--
+{% 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 %}
+-->
+
+The [Apache Calcite PMC]({{ site.baseurl }})
+is pleased to announce
+[Apache Calcite release 1.30.0]({{ site.baseurl }}/docs/history.html#v1-30-0).
+
+This release comes over two months after [1.29.0](#v1-29-0),
+contains contributions from 29 authors,
+and resolves 36 issues.
+
+Among others, it is worth highlighting the following.
+
+* [Babel parser support MySQL NULL-safe equal operator '<=>'](https://issues.apache.org/jira/browse/CALCITE-4980)
+* [Support SQL hints for temporal table join](https://issues.apache.org/jira/browse/CALCITE-4967)
+* [Fluent test fixtures so that dependent projects can write parser, validator and rules tests](https://issues.apache.org/jira/browse/CALCITE-4885)
+* [Vulnerability issue CVE-2021-27568 fixed](https://issues.apache.org/jira/browse/CALCITE-5030)