You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sedona.apache.org by ji...@apache.org on 2022/11/11 09:18:43 UTC

[incubator-sedona] branch master updated: [SEDONA-190] Prepare Sedona for 1.3.0 release (#709)

This is an automated email from the ASF dual-hosted git repository.

jiayu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-sedona.git


The following commit(s) were added to refs/heads/master by this push:
     new c455a835 [SEDONA-190] Prepare Sedona for 1.3.0 release (#709)
c455a835 is described below

commit c455a8358f7a72156f5fae54725d3f68ce01274b
Author: Jia Yu <ji...@apache.org>
AuthorDate: Fri Nov 11 02:18:37 2022 -0700

    [SEDONA-190] Prepare Sedona for 1.3.0 release (#709)
---
 README.md                                          |   7 +-
 docs-overrides/main.html                           |   2 +-
 docs/community/contact.md                          |   4 +-
 docs/community/publish.md                          | 144 ++++++--------
 docs/setup/compile.md                              |  10 +-
 docs/setup/maven-coordinates.md                    |  48 +----
 docs/setup/release-notes.md                        |  98 ++++++++-
 flink/pom.xml                                      |   5 -
 mkdocs.yml                                         |  12 +-
 sql/pom.xml                                        |   5 -
 .../scala/org/apache/sedona/sql/UDF/Catalog.scala  |  16 +-
 .../expressions_udaf/AggregateFunctions.scala      | 218 ---------------------
 viz/pom.xml                                        |   5 -
 13 files changed, 179 insertions(+), 395 deletions(-)

diff --git a/README.md b/README.md
index 32cd0928..ebfa3077 100644
--- a/README.md
+++ b/README.md
@@ -1,12 +1,10 @@
 <img src="https://www.apache.org/logos/res/sedona/sedona.png" width="400">
 
-**Are you a user / contributor / PPMC of Apache Sedona? Please fill in <a href="https://www.surveymonkey.com/r/CKP9RR7">this form</a> to participate in the <b>first ever Sedona online community call</b> on October 22, 2022!**
-
-
 [![Scala and Java build](https://github.com/apache/incubator-sedona/actions/workflows/java.yml/badge.svg)](https://github.com/apache/incubator-sedona/actions/workflows/java.yml) [![Python build](https://github.com/apache/incubator-sedona/actions/workflows/python.yml/badge.svg)](https://github.com/apache/incubator-sedona/actions/workflows/python.yml) [![R build](https://github.com/apache/incubator-sedona/actions/workflows/r.yml/badge.svg)](https://github.com/apache/incubator-sedona/action [...]
 
 Click [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/apache/incubator-sedona/HEAD?filepath=binder) and play the interactive Sedona Python Jupyter Notebook immediately!
 
+[![](https://dcbadge.vercel.app/api/server/9A3k5dEBsY)](https://discord.gg/9A3k5dEBsY)
 
 Apache Sedona™(incubating) is a cluster computing system for processing large-scale spatial data. Sedona equips cluster computing systems such as Apache Spark and Apache Flink with a set of out-of-the-box distributed Spatial Datasets and Spatial SQL that efficiently load, process, and analyze large-scale spatial data across machines.
 
@@ -47,7 +45,8 @@ Feedback to improve Apache Sedona: [Google Form](https://docs.google.com/forms/d
 
 Twitter: [Sedona@Twitter](https://twitter.com/ApacheSedona)
 
-Gitter chat: [![Gitter](https://badges.gitter.im/apache/sedona.svg)](https://gitter.im/apache/sedona?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
+[![](https://dcbadge.vercel.app/api/server/9A3k5dEBsY)](https://discord.gg/9A3k5dEBsY)
+
 
 [Sedona JIRA](https://issues.apache.org/jira/projects/SEDONA): Bugs, Pull Requests, and other similar issues
 
diff --git a/docs-overrides/main.html b/docs-overrides/main.html
index 885b88b7..e7ee8b6c 100644
--- a/docs-overrides/main.html
+++ b/docs-overrides/main.html
@@ -28,7 +28,7 @@
             <a href="{{ config.repo_url }}" title="{{ lang.t('source.link.title') }}" class="md-button">
               Go to GitHub
             </a>
-            <p>Are you a user / contributor / PPMC of Apache Sedona? Please fill in <a href="https://www.surveymonkey.com/r/CKP9RR7">this form</a> to participate in the <b>first ever Sedona online community call</b> on October 22, 2022!</p>
+            <p><a href="https://discord.gg/9A3k5dEBsY" target="_blank"><img src="https://dcbadge.vercel.app/api/server/9A3k5dEBsY" alt="Discord Shield"/></a></p>
           </div>
 
           <br><br><br>
diff --git a/docs/community/contact.md b/docs/community/contact.md
index 0f1da784..f05ce6fb 100644
--- a/docs/community/contact.md
+++ b/docs/community/contact.md
@@ -18,9 +18,9 @@ Feedback to improve Apache Sedona: [Google Form](https://docs.google.com/forms/d
 
 [Apache Sedona@Twitter](https://twitter.com/ApacheSedona)
 
-## Gitter chat
+## Discord Server
 
-[![Gitter](https://badges.gitter.im/apache/sedona.svg)](https://gitter.im/apache/sedona?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
+[![](https://dcbadge.vercel.app/api/server/9A3k5dEBsY)](https://discord.gg/9A3k5dEBsY)
 
 ## Mailing list
 
diff --git a/docs/community/publish.md b/docs/community/publish.md
index b9a72df3..adfeaa47 100644
--- a/docs/community/publish.md
+++ b/docs/community/publish.md
@@ -15,7 +15,20 @@ This page is for Sedona PPMC to publish Sedona releases.
 ## Prepare Secret GPG key
 
 1. Install GNUGPG if it was not installed before. On Mac: `brew install gnupg gnupg2`
-2. Generate a secret key. It must be RSA4096 (4096 bits long). Please follow Step 1 - 13 as listed here: https://docs.github.com/en/authentication/managing-commit-signature-verification/generating-a-new-gpg-key#generating-a-gpg-key
+2. Generate a secret key. It must be RSA4096 (4096 bits long). 
+	* Run `gpg --full-generate-key`. If not work, run `gpg --default-new-key-algo rsa4096 --gen-key`
+	* At the prompt, specify the kind of key you want: Select `RSA`, then press `enter`
+    * At the prompt, specify the key size you want: Enter `4096`
+    * At the prompt, enter the length of time the key should be valid: Press `enter` to make the key never expire.
+    * Verify that your selections are correct.
+    * Enter your user ID information: use your real name and Apache email address.
+    * Type a secure passphrase.
+    * Use the `gpg --list-secret-keys --keyid-format=long` command to list the long form of the GPG keys.
+    * From the list of GPG keys, copy the long form of the GPG key ID you'd like to use (e.g., `3AA5C34371567BD2`)
+    * Run `gpg --export --armor 3AA5C34371567BD2`, substituting in the GPG key ID you'd like to use.
+    * Copy your GPG key, beginning with `-----BEGIN PGP PUBLIC KEY BLOCK-----` and ending with `-----END PGP PUBLIC KEY BLOCK-----`.
+3. Publish your armored key in major key servers: https://keyserver.pgp.com/
+4. Append your armored PGP public key to the `KEYS` file: https://dist.apache.org/repos/dist/dev/incubator/sedona/KEYS
 
 ## Set up ASF username for Maven
 
@@ -57,26 +70,22 @@ mvn clean -Darguments="-DskipTests" release:prepare -DdryRun=true -DautoVersionS
 mvn deploy -DskipTests
 ```
 
-#### Prepare for Spark 2.4 and Scala 2.11
+If you are using Mac and see `sign artifacts failed`, please enter the following command in your terminal and re-compile again.
 
-1. Prepare the SNAPSHOTs
-```
-mvn clean release:prepare -DdryRun=true -DautoVersionSubmodules=true -Dresume=false -DcheckModificationExcludeList=sql/src/main/scala/org/apache/sedona/sql/UDF/UdfRegistrator.scala,sql/src/main/scala/org/apache/spark/sql/sedona_sql/strategy/join/JoinQueryDetector.scala,sql/src/main/scala/org/apache/spark/sql/sedona_sql/strategy/join/TraitJoinQueryExec.scala -Darguments="-DskipTests -Dscala=2.11 -Dspark=2.4"
-```
-2. Deploy the SNAPSHOTs
-```
-mvn deploy -DskipTests -Dscala=2.11 -Dspark=2.4
+```bash
+GPG_TTY=$(tty)
+export GPG_TTY
 ```
 
-#### Prepare for Spark 2.4 and Scala 2.12
+#### Prepare for Spark 3.0 and Scala 2.13
 
 1. Prepare the SNAPSHOTs
 ```
-mvn clean release:prepare -DdryRun=true -DautoVersionSubmodules=true -Dresume=false -DcheckModificationExcludeList=sql/src/main/scala/org/apache/sedona/sql/UDF/UdfRegistrator.scala,sql/src/main/scala/org/apache/spark/sql/sedona_sql/strategy/join/JoinQueryDetector.scala,sql/src/main/scala/org/apache/spark/sql/sedona_sql/strategy/join/TraitJoinQueryExec.scala -Darguments="-DskipTests -Dscala=2.12 -Dspark=2.4"
+mvn clean -Darguments="-DskipTests -Dscala=2.13" release:prepare -DdryRun=true -DautoVersionSubmodules=true -Dresume=false
 ```
 2. Deploy the SNAPSHOTs
 ```
-mvn deploy -DskipTests -Dscala=2.12 -Dspark=2.4
+mvn deploy -DskipTests -Dscala=2.13
 ```
 
 ## Check ASF copyright in all file headers
@@ -130,16 +139,10 @@ mvn clean release:perform -DautoVersionSubmodules=true -Dresume=false -Dargument
 
 Now let's repeat the process to other Sedona modules. Make sure you use the correct SCM Git tag id `{{ sedona.current_git_tag }}` (see below).
 
-#### For Spark 2.4 and Scala 2.11
-
-```
-mvn org.apache.maven.plugins:maven-release-plugin:2.3.2:perform -DconnectionUrl=scm:git:https://github.com/apache/incubator-sedona.git -Dtag={{ sedona.current_git_tag }} -DautoVersionSubmodules=true -Dresume=false -Darguments="-DskipTests -Dscala=2.11 -Dspark=2.4"
-```
-
-#### For Spark 2.4 and Scala 2.12
+#### For Spark 3.0 and Scala 2.13
 
 ```
-mvn org.apache.maven.plugins:maven-release-plugin:2.3.2:perform -DconnectionUrl=scm:git:https://github.com/apache/incubator-sedona.git -Dtag={{ sedona.current_git_tag }} -DautoVersionSubmodules=true -Dresume=false -Darguments="-DskipTests -Dscala=2.12 -Dspark=2.4"
+mvn org.apache.maven.plugins:maven-release-plugin:2.3.2:perform -DconnectionUrl=scm:git:https://github.com/apache/incubator-sedona.git -Dtag={{ sedona.current_git_tag }} -DautoVersionSubmodules=true -Dresume=false -Darguments="-DskipTests -Dscala=2.13"
 ```
 
 
@@ -147,7 +150,7 @@ mvn org.apache.maven.plugins:maven-release-plugin:2.3.2:perform -DconnectionUrl=
 
 All release candidates must be first placed in ASF Dist Dev SVN before vote: https://dist.apache.org/repos/dist/dev/incubator/sedona
 
-1. Make sure your armored PGP public key (must be encrypted by RSA-4096) is included in the `KEYS` file: https://dist.apache.org/repos/dist/dev/incubator/sedona/KEYS, and publish in major key servers: https://pgp.mit.edu/, https://keyserver.ubuntu.com/
+1. Make sure your armored PGP public key (must be encrypted by RSA-4096) is included in the `KEYS` file: https://dist.apache.org/repos/dist/dev/incubator/sedona/KEYS, and publish in major key servers: https://keyserver.pgp.com/
 2. Create a folder on SVN, such as `{{ sedona.current_git_tag }}`
 ```bash
 #!/bin/bash
@@ -160,23 +163,18 @@ git clone --shared --branch {{ sedona.current_git_tag}} https://github.com/apach
 rm -rf apache-sedona-{{ sedona.current_version }}-src/.git
 tar czf apache-sedona-{{ sedona.current_version }}-src.tar.gz apache-sedona-{{ sedona.current_version }}-src
 mkdir apache-sedona-{{ sedona.current_version }}-bin
-cd apache-sedona-{{ sedona.current_version }}-src && mvn clean install -DskipTests -Dscala=2.12 -Dspark=3.0 && cd ..
+cd apache-sedona-{{ sedona.current_version }}-src && mvn clean install -DskipTests -Dscala=2.12 && cd ..
 cp apache-sedona-{{ sedona.current_version }}-src/core/target/sedona-*{{ sedona.current_version}}.jar apache-sedona-{{ sedona.current_version }}-bin/
 cp apache-sedona-{{ sedona.current_version }}-src/sql/target/sedona-*{{ sedona.current_version}}.jar apache-sedona-{{ sedona.current_version }}-bin/
 cp apache-sedona-{{ sedona.current_version }}-src/viz/target/sedona-*{{ sedona.current_version}}.jar apache-sedona-{{ sedona.current_version }}-bin/
 cp apache-sedona-{{ sedona.current_version }}-src/python-adapter/target/sedona-*{{ sedona.current_version}}.jar apache-sedona-{{ sedona.current_version }}-bin/
 cp apache-sedona-{{ sedona.current_version }}-src/flink/target/sedona-*{{ sedona.current_version}}.jar apache-sedona-{{ sedona.current_version }}-bin/
-cd apache-sedona-{{ sedona.current_version }}-src && mvn clean install -DskipTests -Dscala=2.11 -Dspark=2.4 && cd ..
+cd apache-sedona-{{ sedona.current_version }}-src && mvn clean install -DskipTests -Dscala=2.13 && cd ..
 cp apache-sedona-{{ sedona.current_version }}-src/core/target/sedona-*{{ sedona.current_version}}.jar apache-sedona-{{ sedona.current_version }}-bin/
 cp apache-sedona-{{ sedona.current_version }}-src/sql/target/sedona-*{{ sedona.current_version}}.jar apache-sedona-{{ sedona.current_version }}-bin/
 cp apache-sedona-{{ sedona.current_version }}-src/viz/target/sedona-*{{ sedona.current_version}}.jar apache-sedona-{{ sedona.current_version }}-bin/
 cp apache-sedona-{{ sedona.current_version }}-src/python-adapter/target/sedona-*{{ sedona.current_version}}.jar apache-sedona-{{ sedona.current_version }}-bin/
 cp apache-sedona-{{ sedona.current_version }}-src/flink/target/sedona-*{{ sedona.current_version}}.jar apache-sedona-{{ sedona.current_version }}-bin/
-cd apache-sedona-{{ sedona.current_version }}-src && mvn clean install -DskipTests -Dscala=2.12 -Dspark=2.4 && cd ..
-cp apache-sedona-{{ sedona.current_version }}-src/core/target/sedona-*{{ sedona.current_version}}.jar apache-sedona-{{ sedona.current_version }}-bin/
-cp apache-sedona-{{ sedona.current_version }}-src/sql/target/sedona-*{{ sedona.current_version}}.jar apache-sedona-{{ sedona.current_version }}-bin/
-cp apache-sedona-{{ sedona.current_version }}-src/viz/target/sedona-*{{ sedona.current_version}}.jar apache-sedona-{{ sedona.current_version }}-bin/
-cp apache-sedona-{{ sedona.current_version }}-src/python-adapter/target/sedona-*{{ sedona.current_version}}.jar apache-sedona-{{ sedona.current_version }}-bin/
 tar czf apache-sedona-{{ sedona.current_version }}-bin.tar.gz apache-sedona-{{ sedona.current_version }}-bin
 shasum -a 512 apache-sedona-{{ sedona.current_version }}-src.tar.gz > apache-sedona-{{ sedona.current_version }}-src.tar.gz.sha512
 shasum -a 512 apache-sedona-{{ sedona.current_version }}-bin.tar.gz > apache-sedona-{{ sedona.current_version }}-bin.tar.gz.sha512
@@ -235,7 +233,12 @@ https://dist.apache.org/repos/dist/dev/incubator/sedona/{{ sedona.current_rc }}/
 
 The vote will be open for at least 72 hours or until at least 3 "+1" PMC votes are cast
 
-Please vote accordingly:
+Instruction for checking items on the checklist: https://sedona.apache.org/community/vote/
+
+We recommend you use this Jupyter notebook on MyBinder to perform this task: https://mybinder.org/v2/gh/jiayuasu/sedona-tools/HEAD?labpath=binder%2Fverify-release.ipynb
+
+**Please vote accordingly and you must provide your checklist for your vote**.
+
 
 [ ] +1 approve
 
@@ -243,7 +246,7 @@ Please vote accordingly:
 
 [ ] -1 disapprove with the reason
 
-Checklist for reference (because of DISCLAIMER-WIP, other checklist items are not blockers):
+Checklist:
 
 [ ] Download links are valid.
 
@@ -461,29 +464,19 @@ The staging repo on repository.apache.org is usually automatically closed before
 mvn org.apache.maven.plugins:maven-release-plugin:2.3.2:perform -DconnectionUrl=scm:git:https://github.com/apache/incubator-sedona.git -Dtag={{ sedona.current_git_tag }} -DautoVersionSubmodules=true -Dresume=false -Darguments="-DskipTests"
 ```
 
-##### For Spark 2.4 and Scala 2.11
-
-```
-mvn org.apache.maven.plugins:maven-release-plugin:2.3.2:perform -DconnectionUrl=scm:git:https://github.com/apache/incubator-sedona.git -Dtag={{ sedona.current_git_tag }} -DautoVersionSubmodules=true -Dresume=false -Darguments="-DskipTests -Dscala=2.11 -Dspark=2.4"
-```
-
-##### For Spark 2.4 and Scala 2.12
+##### For Spark 3.0 and Scala 2.13
 
 ```
-mvn org.apache.maven.plugins:maven-release-plugin:2.3.2:perform -DconnectionUrl=scm:git:https://github.com/apache/incubator-sedona.git -Dtag={{ sedona.current_git_tag }} -DautoVersionSubmodules=true -Dresume=false -Darguments="-DskipTests -Dscala=2.12 -Dspark=2.4"
+mvn org.apache.maven.plugins:maven-release-plugin:2.3.2:perform -DconnectionUrl=scm:git:https://github.com/apache/incubator-sedona.git -Dtag={{ sedona.current_git_tag }} -DautoVersionSubmodules=true -Dresume=false -Darguments="-DskipTests -Dscala=2.13"
 ```
 
 #### Fix the error when close the staged repo
 
-In the last step, you may see 6 errors similar to the following:
+In the last step, you may see many errors similar to the following:
 ```
 typeId	signature-staging
-failureMessage	Invalid Signature: '/org/apache/sedona/sedona-python-adapter-2.4_2.12/{{ sedona.current_version }}/sedona-python-adapter-2.4_2.12-{{ sedona.current_version }}.pom.asc' is not a valid signature for 'sedona-python-adapter-2.4_2.12-{{ sedona.current_version }}.pom'.
-failureMessage	Invalid Signature: '/org/apache/sedona/sedona-python-adapter-2.4_2.11/{{ sedona.current_version }}/sedona-python-adapter-2.4_2.11-{{ sedona.current_version }}.pom.asc' is not a valid signature for 'sedona-python-adapter-2.4_2.11-{{ sedona.current_version }}.pom'.
 failureMessage	Invalid Signature: '/org/apache/sedona/sedona-python-adapter-3.0_2.12/{{ sedona.current_version }}/sedona-python-adapter-3.0_2.12-{{ sedona.current_version }}.pom.asc' is not a valid signature for 'sedona-python-adapter-3.0_2.12-{{ sedona.current_version }}.pom'.
-failureMessage	Invalid Signature: '/org/apache/sedona/sedona-viz-2.4_2.12/{{ sedona.current_version }}/sedona-viz-2.4_2.12-{{ sedona.current_version }}.pom.asc' is not a valid signature for 'sedona-viz-2.4_2.12-{{ sedona.current_version }}.pom'.
 failureMessage	Invalid Signature: '/org/apache/sedona/sedona-viz-3.0_2.12/{{ sedona.current_version }}/sedona-viz-3.0_2.12-{{ sedona.current_version }}.pom.asc' is not a valid signature for 'sedona-viz-3.0_2.12-{{ sedona.current_version }}.pom'.
-failureMessage	Invalid Signature: '/org/apache/sedona/sedona-viz-2.4_2.11/{{ sedona.current_version }}/sedona-viz-2.4_2.11-{{ sedona.current_version }}.pom.asc' is not a valid signature for 'sedona-viz-2.4_2.11-{{ sedona.current_version }}.pom'.
 ```
 
 This is caused by a bug in the resolved-pom-maven-plugin in POM.xml. You will have to upload the signatures of the POM files mannualy.
@@ -496,78 +489,59 @@ username=admin
 password=admin123
 stagingid=1016
 
-wget https://repository.apache.org/service/local/repositories/orgapachesedona-$stagingid/content/org/apache/sedona/sedona-core-2.4_2.11/{{ sedona.current_version }}/sedona-core-2.4_2.11-{{ sedona.current_version }}.pom
-wget https://repository.apache.org/service/local/repositories/orgapachesedona-$stagingid/content/org/apache/sedona/sedona-core-2.4_2.12/{{ sedona.current_version }}/sedona-core-2.4_2.12-{{ sedona.current_version }}.pom
+wget https://repository.apache.org/service/local/repositories/orgapachesedona-$stagingid/content/org/apache/sedona/sedona-common/{{ sedona.current_version }}/sedona-common-{{ sedona.current_version }}.pom
 wget https://repository.apache.org/service/local/repositories/orgapachesedona-$stagingid/content/org/apache/sedona/sedona-core-3.0_2.12/{{ sedona.current_version }}/sedona-core-3.0_2.12-{{ sedona.current_version }}.pom
-wget https://repository.apache.org/service/local/repositories/orgapachesedona-$stagingid/content/org/apache/sedona/sedona-sql-2.4_2.11/{{ sedona.current_version }}/sedona-sql-2.4_2.11-{{ sedona.current_version }}.pom
-wget https://repository.apache.org/service/local/repositories/orgapachesedona-$stagingid/content/org/apache/sedona/sedona-sql-2.4_2.12/{{ sedona.current_version }}/sedona-sql-2.4_2.12-{{ sedona.current_version }}.pom
+wget https://repository.apache.org/service/local/repositories/orgapachesedona-$stagingid/content/org/apache/sedona/sedona-core-3.0_2.13/{{ sedona.current_version }}/sedona-core-3.0_2.13-{{ sedona.current_version }}.pom
 wget https://repository.apache.org/service/local/repositories/orgapachesedona-$stagingid/content/org/apache/sedona/sedona-sql-3.0_2.12/{{ sedona.current_version }}/sedona-sql-3.0_2.12-{{ sedona.current_version }}.pom
-wget https://repository.apache.org/service/local/repositories/orgapachesedona-$stagingid/content/org/apache/sedona/sedona-viz-2.4_2.11/{{ sedona.current_version }}/sedona-viz-2.4_2.11-{{ sedona.current_version }}.pom
-wget https://repository.apache.org/service/local/repositories/orgapachesedona-$stagingid/content/org/apache/sedona/sedona-viz-2.4_2.12/{{ sedona.current_version }}/sedona-viz-2.4_2.12-{{ sedona.current_version }}.pom
+wget https://repository.apache.org/service/local/repositories/orgapachesedona-$stagingid/content/org/apache/sedona/sedona-sql-3.0_2.13/{{ sedona.current_version }}/sedona-sql-3.0_2.13-{{ sedona.current_version }}.pom
 wget https://repository.apache.org/service/local/repositories/orgapachesedona-$stagingid/content/org/apache/sedona/sedona-viz-3.0_2.12/{{ sedona.current_version }}/sedona-viz-3.0_2.12-{{ sedona.current_version }}.pom
-wget https://repository.apache.org/service/local/repositories/orgapachesedona-$stagingid/content/org/apache/sedona/sedona-python-adapter-2.4_2.11/{{ sedona.current_version }}/sedona-python-adapter-2.4_2.11-{{ sedona.current_version }}.pom
-wget https://repository.apache.org/service/local/repositories/orgapachesedona-$stagingid/content/org/apache/sedona/sedona-python-adapter-2.4_2.12/{{ sedona.current_version }}/sedona-python-adapter-2.4_2.12-{{ sedona.current_version }}.pom
+wget https://repository.apache.org/service/local/repositories/orgapachesedona-$stagingid/content/org/apache/sedona/sedona-viz-3.0_2.13/{{ sedona.current_version }}/sedona-viz-3.0_2.13-{{ sedona.current_version }}.pom
 wget https://repository.apache.org/service/local/repositories/orgapachesedona-$stagingid/content/org/apache/sedona/sedona-python-adapter-3.0_2.12/{{ sedona.current_version }}/sedona-python-adapter-3.0_2.12-{{ sedona.current_version }}.pom
+wget https://repository.apache.org/service/local/repositories/orgapachesedona-$stagingid/content/org/apache/sedona/sedona-python-adapter-3.0_2.13/{{ sedona.current_version }}/sedona-python-adapter-3.0_2.13-{{ sedona.current_version }}.pom
 wget https://repository.apache.org/service/local/repositories/orgapachesedona-$stagingid/content/org/apache/sedona/sedona-flink_2.12/{{ sedona.current_version }}/sedona-flink_2.12-{{ sedona.current_version }}.pom
-wget https://repository.apache.org/service/local/repositories/orgapachesedona-$stagingid/content/org/apache/sedona/sedona-flink_2.11/{{ sedona.current_version }}/sedona-flink_2.11-{{ sedona.current_version }}.pom
 
-gpg -ab sedona-core-2.4_2.11-{{ sedona.current_version }}.pom
-gpg -ab sedona-core-2.4_2.12-{{ sedona.current_version }}.pom
+gpg -ab sedona-common-{{ sedona.current_version }}.pom
 gpg -ab sedona-core-3.0_2.12-{{ sedona.current_version }}.pom
-gpg -ab sedona-sql-2.4_2.11-{{ sedona.current_version }}.pom
-gpg -ab sedona-sql-2.4_2.12-{{ sedona.current_version }}.pom
 gpg -ab sedona-sql-3.0_2.12-{{ sedona.current_version }}.pom
-gpg -ab sedona-viz-2.4_2.11-{{ sedona.current_version }}.pom
-gpg -ab sedona-viz-2.4_2.12-{{ sedona.current_version }}.pom
 gpg -ab sedona-viz-3.0_2.12-{{ sedona.current_version }}.pom
-gpg -ab sedona-python-adapter-2.4_2.11-{{ sedona.current_version }}.pom
-gpg -ab sedona-python-adapter-2.4_2.12-{{ sedona.current_version }}.pom
 gpg -ab sedona-python-adapter-3.0_2.12-{{ sedona.current_version }}.pom
 gpg -ab sedona-flink_2.12-{{ sedona.current_version }}.pom
-gpg -ab sedona-flink_2.11-{{ sedona.current_version }}.pom
+gpg -ab sedona-core-3.0_2.13-{{ sedona.current_version }}.pom
+gpg -ab sedona-sql-3.0_2.13-{{ sedona.current_version }}.pom
+gpg -ab sedona-viz-3.0_2.13-{{ sedona.current_version }}.pom
+gpg -ab sedona-python-adapter-3.0_2.13-{{ sedona.current_version }}.pom
 
-curl -v -u $username:$password --upload-file sedona-python-adapter-2.4_2.11-{{ sedona.current_version }}.pom.asc https://repository.apache.org/service/local/repositories/orgapachesedona-$stagingid/content/org/apache/sedona/sedona-python-adapter-2.4_2.11/{{ sedona.current_version }}/sedona-python-adapter-2.4_2.11-{{ sedona.current_version }}.pom.asc
 
-curl -v -u $username:$password --upload-file sedona-python-adapter-2.4_2.12-{{ sedona.current_version }}.pom.asc https://repository.apache.org/service/local/repositories/orgapachesedona-$stagingid/content/org/apache/sedona/sedona-python-adapter-2.4_2.12/{{ sedona.current_version }}/sedona-python-adapter-2.4_2.12-{{ sedona.current_version }}.pom.asc
+curl -v -u $username:$password --upload-file sedona-common-{{ sedona.current_version }}.pom.asc https://repository.apache.org/service/local/repositories/orgapachesedona-$stagingid/content/org/apache/sedona/sedona-common/{{ sedona.current_version }}/sedona-common-{{ sedona.current_version }}.pom.asc
 
 curl -v -u $username:$password --upload-file sedona-python-adapter-3.0_2.12-{{ sedona.current_version }}.pom.asc https://repository.apache.org/service/local/repositories/orgapachesedona-$stagingid/content/org/apache/sedona/sedona-python-adapter-3.0_2.12/{{ sedona.current_version }}/sedona-python-adapter-3.0_2.12-{{ sedona.current_version }}.pom.asc
 
-curl -v -u $username:$password --upload-file sedona-viz-2.4_2.11-{{ sedona.current_version }}.pom.asc https://repository.apache.org/service/local/repositories/orgapachesedona-$stagingid/content/org/apache/sedona/sedona-viz-2.4_2.11/{{ sedona.current_version }}/sedona-viz-2.4_2.11-{{ sedona.current_version }}.pom.asc
-
-curl -v -u $username:$password --upload-file sedona-viz-2.4_2.12-{{ sedona.current_version }}.pom.asc https://repository.apache.org/service/local/repositories/orgapachesedona-$stagingid/content/org/apache/sedona/sedona-viz-2.4_2.12/{{ sedona.current_version }}/sedona-viz-2.4_2.12-{{ sedona.current_version }}.pom.asc
-
 curl -v -u $username:$password --upload-file sedona-viz-3.0_2.12-{{ sedona.current_version }}.pom.asc https://repository.apache.org/service/local/repositories/orgapachesedona-$stagingid/content/org/apache/sedona/sedona-viz-3.0_2.12/{{ sedona.current_version }}/sedona-viz-3.0_2.12-{{ sedona.current_version }}.pom.asc
 
-curl -v -u $username:$password --upload-file sedona-core-2.4_2.11-{{ sedona.current_version }}.pom.asc https://repository.apache.org/service/local/repositories/orgapachesedona-$stagingid/content/org/apache/sedona/sedona-core-2.4_2.11/{{ sedona.current_version }}/sedona-core-2.4_2.11-{{ sedona.current_version }}.pom.asc
-
-curl -v -u $username:$password --upload-file sedona-core-2.4_2.12-{{ sedona.current_version }}.pom.asc https://repository.apache.org/service/local/repositories/orgapachesedona-$stagingid/content/org/apache/sedona/sedona-core-2.4_2.12/{{ sedona.current_version }}/sedona-core-2.4_2.12-{{ sedona.current_version }}.pom.asc
-
 curl -v -u $username:$password --upload-file sedona-core-3.0_2.12-{{ sedona.current_version }}.pom.asc https://repository.apache.org/service/local/repositories/orgapachesedona-$stagingid/content/org/apache/sedona/sedona-core-3.0_2.12/{{ sedona.current_version }}/sedona-core-3.0_2.12-{{ sedona.current_version }}.pom.asc
 
-curl -v -u $username:$password --upload-file sedona-sql-2.4_2.11-{{ sedona.current_version }}.pom.asc https://repository.apache.org/service/local/repositories/orgapachesedona-$stagingid/content/org/apache/sedona/sedona-sql-2.4_2.11/{{ sedona.current_version }}/sedona-sql-2.4_2.11-{{ sedona.current_version }}.pom.asc
-
-curl -v -u $username:$password --upload-file sedona-sql-2.4_2.12-{{ sedona.current_version }}.pom.asc https://repository.apache.org/service/local/repositories/orgapachesedona-$stagingid/content/org/apache/sedona/sedona-sql-2.4_2.12/{{ sedona.current_version }}/sedona-sql-2.4_2.12-{{ sedona.current_version }}.pom.asc
-
 curl -v -u $username:$password --upload-file sedona-sql-3.0_2.12-{{ sedona.current_version }}.pom.asc https://repository.apache.org/service/local/repositories/orgapachesedona-$stagingid/content/org/apache/sedona/sedona-sql-3.0_2.12/{{ sedona.current_version }}/sedona-sql-3.0_2.12-{{ sedona.current_version }}.pom.asc
 
 curl -v -u $username:$password --upload-file sedona-flink_2.12-{{ sedona.current_version }}.pom.asc https://repository.apache.org/service/local/repositories/orgapachesedona-$stagingid/content/org/apache/sedona/sedona-flink_2.12/{{ sedona.current_version }}/sedona-flink_2.12-{{ sedona.current_version }}.pom.asc
 
-curl -v -u $username:$password --upload-file sedona-flink_2.11-{{ sedona.current_version }}.pom.asc https://repository.apache.org/service/local/repositories/orgapachesedona-$stagingid/content/org/apache/sedona/sedona-flink_2.11/{{ sedona.current_version }}/sedona-flink_2.11-{{ sedona.current_version }}.pom.asc
+curl -v -u $username:$password --upload-file sedona-python-adapter-3.0_2.13-{{ sedona.current_version }}.pom.asc https://repository.apache.org/service/local/repositories/orgapachesedona-$stagingid/content/org/apache/sedona/sedona-python-adapter-3.0_2.13/{{ sedona.current_version }}/sedona-python-adapter-3.0_2.12-{{ sedona.current_version }}.pom.asc
+
+curl -v -u $username:$password --upload-file sedona-viz-3.0_2.13-{{ sedona.current_version }}.pom.asc https://repository.apache.org/service/local/repositories/orgapachesedona-$stagingid/content/org/apache/sedona/sedona-viz-3.0_2.13/{{ sedona.current_version }}/sedona-viz-3.0_2.13-{{ sedona.current_version }}.pom.asc
+
+curl -v -u $username:$password --upload-file sedona-core-3.0_2.13-{{ sedona.current_version }}.pom.asc https://repository.apache.org/service/local/repositories/orgapachesedona-$stagingid/content/org/apache/sedona/sedona-core-3.0_2.13/{{ sedona.current_version }}/sedona-core-3.0_2.13-{{ sedona.current_version }}.pom.asc
+
+curl -v -u $username:$password --upload-file sedona-sql-3.0_2.13-{{ sedona.current_version }}.pom.asc https://repository.apache.org/service/local/repositories/orgapachesedona-$stagingid/content/org/apache/sedona/sedona-sql-3.0_2.13/{{ sedona.current_version }}/sedona-sql-3.0_2.13-{{ sedona.current_version }}.pom.asc
 
-rm sedona-core-2.4_2.11-{{ sedona.current_version }}.pom.asc
-rm sedona-core-2.4_2.12-{{ sedona.current_version }}.pom.asc
+rm sedona-common-{{ sedona.current_version }}.pom.asc
 rm sedona-core-3.0_2.12-{{ sedona.current_version }}.pom.asc
-rm sedona-sql-2.4_2.11-{{ sedona.current_version }}.pom.asc
-rm sedona-sql-2.4_2.12-{{ sedona.current_version }}.pom.asc
 rm sedona-sql-3.0_2.12-{{ sedona.current_version }}.pom.asc
-rm sedona-viz-2.4_2.11-{{ sedona.current_version }}.pom.asc
-rm sedona-viz-2.4_2.12-{{ sedona.current_version }}.pom.asc
 rm sedona-viz-3.0_2.12-{{ sedona.current_version }}.pom.asc
-rm sedona-python-adapter-2.4_2.11-{{ sedona.current_version }}.pom.asc
-rm sedona-python-adapter-2.4_2.12-{{ sedona.current_version }}.pom.asc
 rm sedona-python-adapter-3.0_2.12-{{ sedona.current_version }}.pom.asc
 rm sedona-flink_2.12-{{ sedona.current_version }}.pom.asc
-rm sedona-flink_2.11-{{ sedona.current_version }}.pom.asc
+rm sedona-core-3.0_2.13-{{ sedona.current_version }}.pom.asc
+rm sedona-sql-3.0_2.13-{{ sedona.current_version }}.pom.asc
+rm sedona-viz-3.0_2.13-{{ sedona.current_version }}.pom.asc
+rm sedona-python-adapter-3.0_2.13-{{ sedona.current_version }}.pom.asc
 ```
 admin is your Apache ID username and admin123 is your Apache ID password. You can find the correct upload path from the web interface.
 
diff --git a/docs/setup/compile.md b/docs/setup/compile.md
index 95fc1f99..d02da42b 100644
--- a/docs/setup/compile.md
+++ b/docs/setup/compile.md
@@ -35,15 +35,11 @@ To compile all modules, please make sure you are in the root folder of all modul
 
 === "Spark 3.0 + Scala 2.12"
 	```
-	mvn clean install -DskipTests -Dscala=2.12 -Dspark=3.0
+	mvn clean install -DskipTests -Dscala=2.12
 	```
-=== "Spark 2.4 + Scala 2.11"
+=== "Spark 3.0 + Scala 2.13"
 	```
-	mvn clean install -DskipTests -Dscala=2.11 -Dspark=2.4
-	```
-=== "Spark 2.4 + Scala 2.12"
-	```
-	mvn clean install -DskipTests -Dscala=2.12 -Dspark=2.4
+	mvn clean install -DskipTests -Dscala=2.13
 	```
 
 !!!tip
diff --git a/docs/setup/maven-coordinates.md b/docs/setup/maven-coordinates.md
index 41940a5e..1b4fd6b6 100644
--- a/docs/setup/maven-coordinates.md
+++ b/docs/setup/maven-coordinates.md
@@ -35,38 +35,17 @@ The optional GeoTools library is required only if you want to use CRS transforma
 		</dependency>
 		```
 	
-	=== "Spark 2.4 and Scala 2.11"
+	=== "Spark 3.0 and Scala 2.13"
 	
 		```xml
 		<dependency>
 		  <groupId>org.apache.sedona</groupId>
-		  <artifactId>sedona-python-adapter-2.4_2.11</artifactId>
+		  <artifactId>sedona-python-adapter-3.0_2.13</artifactId>
 		  <version>{{ sedona.current_version }}</version>
 		</dependency>
 		<dependency>
 		  <groupId>org.apache.sedona</groupId>
-		  <artifactId>sedona-viz-2.4_2.11</artifactId>
-		  <version>{{ sedona.current_version }}</version>
-		</dependency>
-		<!-- Optional: https://mvnrepository.com/artifact/org.datasyslab/geotools-wrapper -->
-		<dependency>
-		    <groupId>org.datasyslab</groupId>
-		    <artifactId>geotools-wrapper</artifactId>
-		    <version>{{ sedona.current_geotools }}</version>
-		</dependency>
-		```
-		
-	=== "Spark 2.4 and Scala 2.12"
-	
-		```xml
-		<dependency>
-		  <groupId>org.apache.sedona</groupId>
-		  <artifactId>sedona-python-adapter-2.4_2.12</artifactId>
-		  <version>{{ sedona.current_version }}</version>
-		</dependency>
-		<dependency>
-		  <groupId>org.apache.sedona</groupId>
-		  <artifactId>sedona-viz-2.4_2.12</artifactId>
+		  <artifactId>sedona-viz-3.0_2.13</artifactId>
 		  <version>{{ sedona.current_version }}</version>
 		</dependency>
 		<!-- Optional: https://mvnrepository.com/artifact/org.datasyslab/geotools-wrapper -->
@@ -77,6 +56,7 @@ The optional GeoTools library is required only if you want to use CRS transforma
 		</dependency>
 		```
 
+
 !!! abstract "Sedona with Apache Flink"
 
 	=== "Flink 1.12+ and Scala 2.12"
@@ -99,26 +79,6 @@ The optional GeoTools library is required only if you want to use CRS transforma
 		    <version>{{ sedona.current_geotools }}</version>
 		</dependency>
 		```
-	=== "Flink 1.12+ and Scala 2.11"
-	
-		```xml
-		<dependency>
-		  <groupId>org.apache.sedona</groupId>
-		  <artifactId>sedona-python-adapter-3.0_2.11</artifactId>
-		  <version>{{ sedona.current_version }}</version>
-		</dependency>
-		<dependency>
-		  <groupId>org.apache.sedona</groupId>
-		  <artifactId>sedona-flink_2.11</artifactId>
-		  <version>{{ sedona.current_version }}</version>
-		</dependency>
-		<!-- Optional: https://mvnrepository.com/artifact/org.datasyslab/geotools-wrapper -->
-		<dependency>
-		    <groupId>org.datasyslab</groupId>
-		    <artifactId>geotools-wrapper</artifactId>
-		    <version>{{ sedona.current_geotools }}</version>
-		</dependency>
-		```
 
 
 #### SernetCDF 0.1.0
diff --git a/docs/setup/release-notes.md b/docs/setup/release-notes.md
index 1f4d75ef..8072aba3 100644
--- a/docs/setup/release-notes.md
+++ b/docs/setup/release-notes.md
@@ -1,11 +1,107 @@
 !!!warning
 	Support of Spark 2.X and Scala 2.11 will be removed in Sedona 1.3.0+ although some parts of the source code might still be compatible. Sedona 1.3.0+ will release binary for both Scala 2.12 and 2.13.
 
+## Sedona 1.3.0
+
+This version is a major release on Sedona 1.3.0 line and consists of 46 PRs. It includes many new functions, optimization and bug fixes.
+
+### Highlights
+
+- [X] Sedona on Spark in this release is compiled against Spark 3.3.
+- [X] Sedona on Flink in this release is compiled against Flink 1.14.
+- [X] Scala 2.11 support is removed.
+- [X] Spark 2.X support is removed.
+- [X] Python 3.10 support is added.
+- [X] Aggregators in Flink are added
+- [X] Correctness fixes for corner cases in range join and distance join.
+- [X] Native GeoParquet read and write.
+    * `df = spark.read.format("geoparquet").option("fieldGeometry", "myGeometryColumn").load("PATH/TO/MYFILE.parquet")`
+    * `df.write.format("geoparquet").save("PATH/TO/MYFILE.parquet")`
+- [X] DataFrame style API
+    * `df.select(ST_Point(min_value, max_value).as("point"))`
+- [X] Allow WKT format CRS in ST_Transform
+    * `ST_Transform(geom, "srcWktString", "tgtWktString")`
+
+```yaml
+
+GEOGCS["WGS 84",
+  DATUM["WGS_1984",
+  SPHEROID["WGS 84",6378137,298.257223563,
+  AUTHORITY["EPSG","7030"]],
+  AUTHORITY["EPSG","6326"]],
+  PRIMEM["Greenwich",0,
+  AUTHORITY["EPSG","8901"]],
+  UNIT["degree",0.0174532925199433,
+  AUTHORITY["EPSG","9122"]],
+  AUTHORITY["EPSG","4326"]]
+
+```
+
+### Bug fixes
+
+  * [SEDONA-119](https://issues.apache.org/jira/browse/SEDONA-119) - ST_Touches join query returns true for polygons whose interiors intersect
+  * [SEDONA-136](https://issues.apache.org/jira/browse/SEDONA-136) - Enable testAsEWKT for Flink
+  * [SEDONA-137](https://issues.apache.org/jira/browse/SEDONA-137) - Fix ST_Buffer for Flink to work
+  * [SEDONA-138](https://issues.apache.org/jira/browse/SEDONA-138) - Fix ST_GeoHash for Flink to work
+  * [SEDONA-153](https://issues.apache.org/jira/browse/SEDONA-153) - Python Serialization Fails with Nulls
+  * [SEDONA-158](https://issues.apache.org/jira/browse/SEDONA-158) - Fix wrong description about ST_GeometryN in the API docs
+  * [SEDONA-169](https://issues.apache.org/jira/browse/SEDONA-169) - Fix ST_RemovePoint in accordance with the API document
+  * [SEDONA-178](https://issues.apache.org/jira/browse/SEDONA-178) - Correctness issue in distance join queries
+  * [SEDONA-182](https://issues.apache.org/jira/browse/SEDONA-182) - ST_AsText should not return SRID
+  * [SEDONA-186](https://issues.apache.org/jira/browse/SEDONA-186) - collecting result rows of a spatial join query with SELECT * fails with serde error
+  * [SEDONA-188](https://issues.apache.org/jira/browse/SEDONA-188) - Python warns about missing `jars` even when some are found
+
+### New Features
+
+  * [SEDONA-94](https://issues.apache.org/jira/browse/SEDONA-94) - GeoParquet  Support For Sedona
+  * [SEDONA-125](https://issues.apache.org/jira/browse/SEDONA-125) - Allows customized CRS in ST_Transform
+  * [SEDONA-166](https://issues.apache.org/jira/browse/SEDONA-166) - Provide Type-safe DataFrame Style API
+  * [SEDONA-168](https://issues.apache.org/jira/browse/SEDONA-168) - Add ST_Normalize to Apache Sedona
+  * [SEDONA-171](https://issues.apache.org/jira/browse/SEDONA-171) - Add ST_SetPoint to Apache Sedona
+
+
+### Improvement
+
+  * [SEDONA-121](https://issues.apache.org/jira/browse/SEDONA-121) - Add equivalent constructors left over from Spark to Flink
+  * [SEDONA-132](https://issues.apache.org/jira/browse/SEDONA-132) - Create common module for SQL functions
+  * [SEDONA-133](https://issues.apache.org/jira/browse/SEDONA-133) - Allow user-defined schemas in Adapter.toDf()
+  * [SEDONA-139](https://issues.apache.org/jira/browse/SEDONA-139) - Fix wrong argument order in Flink unit tests
+  * [SEDONA-140](https://issues.apache.org/jira/browse/SEDONA-140) - Update Sedona Dependencies in R Package
+  * [SEDONA-143](https://issues.apache.org/jira/browse/SEDONA-143) - Add missing unit tests for the Flink predicates
+  * [SEDONA-144](https://issues.apache.org/jira/browse/SEDONA-144) - Add ST_AsGeoJSON to the Flink API
+  * [SEDONA-145](https://issues.apache.org/jira/browse/SEDONA-145) - Fix ST_AsEWKT to reserve the Z coordinate
+  * [SEDONA-146](https://issues.apache.org/jira/browse/SEDONA-146) - Add missing output funtions to the Flink API
+  * [SEDONA-147](https://issues.apache.org/jira/browse/SEDONA-147) - Add SRID functions to the Flink API
+  * [SEDONA-148](https://issues.apache.org/jira/browse/SEDONA-148) - Add boolean functions to the Flink API
+  * [SEDONA-149](https://issues.apache.org/jira/browse/SEDONA-149) - Add Python 3.10 support
+  * [SEDONA-151](https://issues.apache.org/jira/browse/SEDONA-151) - Add ST aggregators to Sedona Flink
+  * [SEDONA-152](https://issues.apache.org/jira/browse/SEDONA-152) - Add reader/writer functions for GML and KML
+  * [SEDONA-154](https://issues.apache.org/jira/browse/SEDONA-154) - Add measurement functions to the Flink API
+  * [SEDONA-157](https://issues.apache.org/jira/browse/SEDONA-157) - Add coordinate accessors to the Flink API
+  * [SEDONA-159](https://issues.apache.org/jira/browse/SEDONA-159) - Add Nth accessor functions to the Flink API
+  * [SEDONA-160](https://issues.apache.org/jira/browse/SEDONA-160) - Fix geoparquetIOTests.scala to cleanup after test
+  * [SEDONA-161](https://issues.apache.org/jira/browse/SEDONA-161) - Add ST_Boundary to the Flink API
+  * [SEDONA-162](https://issues.apache.org/jira/browse/SEDONA-162) - Add ST_Envelope to the Flink API
+  * [SEDONA-163](https://issues.apache.org/jira/browse/SEDONA-163) - Better handle of unsupported types in shapefile reader
+  * [SEDONA-164](https://issues.apache.org/jira/browse/SEDONA-164) - Add geometry count functions to the Flink API
+  * [SEDONA-165](https://issues.apache.org/jira/browse/SEDONA-165) - Upgrade Apache Rat to 0.14
+  * [SEDONA-170](https://issues.apache.org/jira/browse/SEDONA-170) - Add ST_AddPoint and ST_RemovePoint to the Flink API
+  * [SEDONA-172](https://issues.apache.org/jira/browse/SEDONA-172) - Add ST_LineFromMultiPoint to Apache Sedona
+  * [SEDONA-176](https://issues.apache.org/jira/browse/SEDONA-176) - Make ST_Contains conform with OGC standard, and add ST_Covers and ST_CoveredBy functions.
+  * [SEDONA-177](https://issues.apache.org/jira/browse/SEDONA-177) - Support spatial predicates other than INTERSECTS and COVERS/COVERED_BY in RangeQuery.SpatialRangeQuery and JoinQuery.SpatialJoinQuery
+  * [SEDONA-181](https://issues.apache.org/jira/browse/SEDONA-181) - Build fails with java.lang.IllegalAccessError: class org.apache.spark.storage.StorageUtils$
+  * [SEDONA-189](https://issues.apache.org/jira/browse/SEDONA-189) - Prepare geometries in broadcast join
+
+### Task
+
+* [SEDONA-150](https://issues.apache.org/jira/browse/SEDONA-150) - Drop Spark 2.4 and Scala 2.11 support
+
+
 ## Sedona 1.2.1
 
 This version is a maintenance release on Sedona 1.2.0 line. It includes bug fixes.
 
-Sedona on Spark is now compiled against Spark 3.3, instead of Spark 2.2.
+Sedona on Spark is now compiled against Spark 3.3, instead of Spark 3.2.
 
 
 ### SQL (for Spark)
diff --git a/flink/pom.xml b/flink/pom.xml
index 7bdbd409..abd838b1 100644
--- a/flink/pom.xml
+++ b/flink/pom.xml
@@ -38,11 +38,6 @@
     </properties>
 
     <dependencies>
-        <dependency>
-            <groupId>org.apache.sedona</groupId>
-            <artifactId>sedona-common</artifactId>
-            <version>${project.version}</version>
-        </dependency>
         <dependency>
             <groupId>org.apache.sedona</groupId>
             <artifactId>sedona-core-${spark.compat.version}_${scala.compat.version}</artifactId>
diff --git a/mkdocs.yml b/mkdocs.yml
index d2995f57..36b710ee 100644
--- a/mkdocs.yml
+++ b/mkdocs.yml
@@ -161,12 +161,12 @@ extra:
     - icon: fontawesome/brands/twitter
       link: 'https://twitter.com/ApacheSedona'
   sedona:
-    current_version: 1.2.1-incubating
-    current_git_tag: sedona-1.2.1-incubating-rc1
-    current_rc: 1.2.1-incubating-rc1
-    current_snapshot: 1.2.1-incubating-SNAPSHOT
-    next_version: 1.3.0-incubating
-    current_geotools: 1.1.0-25.2
+    current_version: 1.3.0-incubating
+    current_git_tag: sedona-1.3.0-incubating-rc1
+    current_rc: 1.3.0-incubating-rc1
+    current_snapshot: 1.3.0-incubating-SNAPSHOT
+    next_version: 1.3.1-incubating
+    current_geotools: 1.3.0-27.2
 copyright: Copyright © 2022 The Apache Software Foundation
 markdown_extensions:
   - admonition
diff --git a/sql/pom.xml b/sql/pom.xml
index c3de7f99..781939d6 100644
--- a/sql/pom.xml
+++ b/sql/pom.xml
@@ -37,11 +37,6 @@
     </properties>
 
     <dependencies>
-        <dependency>
-            <groupId>org.apache.sedona</groupId>
-            <artifactId>sedona-common</artifactId>
-            <version>${project.version}</version>
-        </dependency>
         <dependency>
             <groupId>org.apache.sedona</groupId>
             <artifactId>sedona-core-${spark.compat.version}_${scala.compat.version}</artifactId>
diff --git a/sql/src/main/scala/org/apache/sedona/sql/UDF/Catalog.scala b/sql/src/main/scala/org/apache/sedona/sql/UDF/Catalog.scala
index 5e7e2359..15a6239b 100644
--- a/sql/src/main/scala/org/apache/sedona/sql/UDF/Catalog.scala
+++ b/sql/src/main/scala/org/apache/sedona/sql/UDF/Catalog.scala
@@ -19,13 +19,12 @@
 package org.apache.sedona.sql.UDF
 
 import org.apache.spark.sql.catalyst.FunctionIdentifier
-import org.apache.spark.sql.catalyst.expressions.{ExpectsInputTypes, Expression, ExpressionInfo}
-import org.apache.spark.sql.catalyst.expressions.Literal
 import org.apache.spark.sql.catalyst.analysis.FunctionRegistry.FunctionBuilder
-import org.apache.spark.sql.expressions.{Aggregator, UserDefinedAggregateFunction}
-import org.apache.spark.sql.sedona_sql.expressions.{ST_YMax, ST_YMin, _}
+import org.apache.spark.sql.catalyst.expressions.{ExpectsInputTypes, Expression, ExpressionInfo, Literal}
+import org.apache.spark.sql.expressions.Aggregator
 import org.apache.spark.sql.sedona_sql.expressions.collect.{ST_Collect, ST_CollectionExtract}
-import org.apache.spark.sql.sedona_sql.expressions.raster.{RS_Add, RS_Append, RS_Array, RS_Base64, RS_BitwiseAnd, RS_BitwiseOr, RS_Count, RS_Divide, RS_FetchRegion, RS_GetBand, RS_GreaterThan, RS_GreaterThanEqual, RS_HTML, RS_LessThan, RS_LessThanEqual, RS_LogicalDifference, RS_LogicalOver, RS_Mean, RS_Mode, RS_Modulo, RS_Multiply, RS_MultiplyFactor, RS_Normalize, RS_NormalizedDifference, RS_SquareRoot, RS_Subtract}
+import org.apache.spark.sql.sedona_sql.expressions.raster._
+import org.apache.spark.sql.sedona_sql.expressions._
 import org.locationtech.jts.geom.Geometry
 import org.locationtech.jts.operation.buffer.BufferParameters
 
@@ -169,13 +168,6 @@ object Catalog {
     new ST_Intersection_Aggr
   )
 
-  import org.apache.spark.sql.sedona_sql.expressions_udaf
-  val aggregateExpressions_UDAF: Seq[UserDefinedAggregateFunction] = Seq(
-    new expressions_udaf.ST_Union_Aggr,
-    new expressions_udaf.ST_Envelope_Aggr,
-    new expressions_udaf.ST_Intersection_Aggr
-  )
-
   private def function[T <: Expression : ClassTag](defaultArgs: Any *): FunctionDescription = {
     val classTag = implicitly[ClassTag[T]]
     val constructor = classTag.runtimeClass.getConstructor(classOf[Seq[Expression]])
diff --git a/sql/src/main/scala/org/apache/spark/sql/sedona_sql/expressions_udaf/AggregateFunctions.scala b/sql/src/main/scala/org/apache/spark/sql/sedona_sql/expressions_udaf/AggregateFunctions.scala
deleted file mode 100644
index f527d0b7..00000000
--- a/sql/src/main/scala/org/apache/spark/sql/sedona_sql/expressions_udaf/AggregateFunctions.scala
+++ /dev/null
@@ -1,218 +0,0 @@
-/**
-  *
-  * 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.
-  */
-package org.apache.spark.sql.sedona_sql.expressions_udaf
-
-import org.apache.spark.sql.Row
-import org.apache.spark.sql.expressions.{MutableAggregationBuffer, UserDefinedAggregateFunction}
-import org.apache.spark.sql.sedona_sql.UDT.GeometryUDT
-import org.apache.spark.sql.types.{DataType, StructField, StructType}
-import org.locationtech.jts.geom.{Coordinate, Geometry, GeometryFactory}
-
-/**
-  * Return the polygon union of all Polygon in the given column
-  */
-
-class ST_Union_Aggr extends UserDefinedAggregateFunction {
-  override def inputSchema: StructType = StructType(StructField("Union", GeometryUDT) :: Nil)
-
-  override def bufferSchema: StructType = StructType(
-    StructField("Union", GeometryUDT) :: Nil
-  )
-
-  override def dataType: DataType = GeometryUDT
-
-  override def deterministic: Boolean = true
-
-  override def initialize(buffer: MutableAggregationBuffer): Unit = {
-    val coordinates: Array[Coordinate] = new Array[Coordinate](5)
-    coordinates(0) = new Coordinate(-999999999, -999999999)
-    coordinates(1) = new Coordinate(-999999999, -999999999)
-    coordinates(2) = new Coordinate(-999999999, -999999999)
-    coordinates(3) = new Coordinate(-999999999, -999999999)
-    coordinates(4) = coordinates(0)
-    val geometryFactory = new GeometryFactory()
-    buffer(0) = geometryFactory.createPolygon(coordinates)
-  }
-
-  override def update(buffer: MutableAggregationBuffer, input: Row): Unit = {
-    val accumulateUnion = buffer.getAs[Geometry](0)
-    val newPolygon = input.getAs[Geometry](0)
-    if (accumulateUnion.getArea == 0) buffer(0) = newPolygon
-    else buffer(0) = accumulateUnion.union(newPolygon)
-  }
-
-  override def merge(buffer1: MutableAggregationBuffer, buffer2: Row): Unit = {
-    val leftPolygon = buffer1.getAs[Geometry](0)
-    val rightPolygon = buffer2.getAs[Geometry](0)
-    if (leftPolygon.getCoordinates()(0).x == -999999999) buffer1(0) = rightPolygon
-    else if (rightPolygon.getCoordinates()(0).x == -999999999) buffer1(0) = leftPolygon
-    else buffer1(0) = leftPolygon.union(rightPolygon)
-  }
-
-  override def evaluate(buffer: Row): Any = {
-    return buffer.getAs[Geometry](0)
-  }
-}
-
-/**
-  * Return the envelope boundary of the entire column
-  */
-class ST_Envelope_Aggr extends UserDefinedAggregateFunction {
-  // This is the input fields for your aggregate function.
-  override def inputSchema: org.apache.spark.sql.types.StructType =
-    StructType(StructField("Envelope", GeometryUDT) :: Nil)
-
-  // This is the internal fields you keep for computing your aggregate.
-  override def bufferSchema: StructType = StructType(
-    StructField("Envelope", GeometryUDT) :: Nil
-  )
-
-  // This is the output type of your aggregatation function.
-  override def dataType: DataType = GeometryUDT
-
-  override def deterministic: Boolean = true
-
-  // This is the initial value for your buffer schema.
-  override def initialize(buffer: MutableAggregationBuffer): Unit = {
-    val coordinates: Array[Coordinate] = new Array[Coordinate](5)
-    coordinates(0) = new Coordinate(-999999999, -999999999)
-    coordinates(1) = new Coordinate(-999999999, -999999999)
-    coordinates(2) = new Coordinate(-999999999, -999999999)
-    coordinates(3) = new Coordinate(-999999999, -999999999)
-    coordinates(4) = new Coordinate(-999999999, -999999999)
-    val geometryFactory = new GeometryFactory()
-    buffer(0) = geometryFactory.createPolygon(coordinates)
-    //buffer(0) = new GenericArrayData(GeometrySerializer.serialize(geometryFactory.createPolygon(coordinates)))
-  }
-
-  // This is how to update your buffer schema given an input.
-  override def update(buffer: MutableAggregationBuffer, input: Row): Unit = {
-    val accumulateEnvelope = buffer.getAs[Geometry](0).getEnvelopeInternal
-    val newEnvelope = input.getAs[Geometry](0).getEnvelopeInternal
-    val coordinates: Array[Coordinate] = new Array[Coordinate](5)
-    var minX = 0.0
-    var minY = 0.0
-    var maxX = 0.0
-    var maxY = 0.0
-    if (accumulateEnvelope.getMinX == -999999999) {
-      // Found the accumulateEnvelope is the initial value
-      minX = newEnvelope.getMinX
-      minY = newEnvelope.getMinY
-      maxX = newEnvelope.getMaxX
-      maxY = newEnvelope.getMaxY
-    }
-    else {
-      minX = Math.min(accumulateEnvelope.getMinX, newEnvelope.getMinX)
-      minY = Math.min(accumulateEnvelope.getMinY, newEnvelope.getMinY)
-      maxX = Math.max(accumulateEnvelope.getMaxX, newEnvelope.getMaxX)
-      maxY = Math.max(accumulateEnvelope.getMaxY, newEnvelope.getMaxY)
-    }
-    coordinates(0) = new Coordinate(minX, minY)
-    coordinates(1) = new Coordinate(minX, maxY)
-    coordinates(2) = new Coordinate(maxX, maxY)
-    coordinates(3) = new Coordinate(maxX, minY)
-    coordinates(4) = coordinates(0)
-    val geometryFactory = new GeometryFactory()
-    buffer(0) = geometryFactory.createPolygon(coordinates)
-  }
-
-  // This is how to merge two objects with the bufferSchema type.
-  override def merge(buffer1: MutableAggregationBuffer, buffer2: Row): Unit = {
-    val leftEnvelope = buffer1.getAs[Geometry](0).getEnvelopeInternal
-    val rightEnvelope = buffer2.getAs[Geometry](0).getEnvelopeInternal
-    val coordinates: Array[Coordinate] = new Array[Coordinate](5)
-    var minX = 0.0
-    var minY = 0.0
-    var maxX = 0.0
-    var maxY = 0.0
-    if (leftEnvelope.getMinX == -999999999) {
-      // Found the leftEnvelope is the initial value
-      minX = rightEnvelope.getMinX
-      minY = rightEnvelope.getMinY
-      maxX = rightEnvelope.getMaxX
-      maxY = rightEnvelope.getMaxY
-    }
-    else if (rightEnvelope.getMinX == -999999999) {
-      // Found the rightEnvelope is the initial value
-      minX = leftEnvelope.getMinX
-      minY = leftEnvelope.getMinY
-      maxX = leftEnvelope.getMaxX
-      maxY = leftEnvelope.getMaxY
-    }
-    else {
-      minX = Math.min(leftEnvelope.getMinX, rightEnvelope.getMinX)
-      minY = Math.min(leftEnvelope.getMinY, rightEnvelope.getMinY)
-      maxX = Math.max(leftEnvelope.getMaxX, rightEnvelope.getMaxX)
-      maxY = Math.max(leftEnvelope.getMaxY, rightEnvelope.getMaxY)
-    }
-    coordinates(0) = new Coordinate(minX, minY)
-    coordinates(1) = new Coordinate(minX, maxY)
-    coordinates(2) = new Coordinate(maxX, maxY)
-    coordinates(3) = new Coordinate(maxX, minY)
-    coordinates(4) = coordinates(0)
-    val geometryFactory = new GeometryFactory()
-    buffer1(0) = geometryFactory.createPolygon(coordinates)
-  }
-
-  // This is where you output the final value, given the final value of your bufferSchema.
-  override def evaluate(buffer: Row): Any = {
-    return buffer.getAs[Geometry](0)
-  }
-}
-
-/**
-  * Return the polygon intersection of all Polygon in the given column
-  */
-class ST_Intersection_Aggr extends UserDefinedAggregateFunction {
-  override def inputSchema: StructType = StructType(StructField("Intersection", GeometryUDT) :: Nil)
-
-  override def bufferSchema: StructType = StructType(
-    StructField("Intersection", GeometryUDT) :: Nil
-  )
-
-  override def dataType: DataType = GeometryUDT
-
-  override def deterministic: Boolean = true
-
-  override def initialize(buffer: MutableAggregationBuffer): Unit = {
-    val coordinates: Array[Coordinate] = new Array[Coordinate](5)
-    coordinates(0) = new Coordinate(-999999999, -999999999)
-    coordinates(1) = new Coordinate(-999999999, -999999999)
-    coordinates(2) = new Coordinate(-999999999, -999999999)
-    coordinates(3) = new Coordinate(-999999999, -999999999)
-    coordinates(4) = new Coordinate(-999999999, -999999999)
-    val geometryFactory = new GeometryFactory()
-    buffer(0) = geometryFactory.createPolygon(coordinates)
-  }
-
-  override def update(buffer: MutableAggregationBuffer, input: Row): Unit = {
-    val accumulateIntersection = buffer.getAs[Geometry](0)
-    val newPolygon = input.getAs[Geometry](0)
-    if (accumulateIntersection.getArea == 0) buffer(0) = newPolygon
-    else buffer(0) = accumulateIntersection.intersection(newPolygon)
-  }
-
-  override def merge(buffer1: MutableAggregationBuffer, buffer2: Row): Unit = {
-    val leftPolygon = buffer1.getAs[Geometry](0)
-    val rightPolygon = buffer2.getAs[Geometry](0)
-    if (leftPolygon.getCoordinates()(0).x == -999999999) buffer1(0) = rightPolygon
-    else if (rightPolygon.getCoordinates()(0).x == -999999999) buffer1(0) = leftPolygon
-    else buffer1(0) = leftPolygon.intersection(rightPolygon)
-  }
-
-  override def evaluate(buffer: Row): Any = {
-    buffer.getAs[Geometry](0)
-  }
-}
\ No newline at end of file
diff --git a/viz/pom.xml b/viz/pom.xml
index 4a4530f8..b427a8c4 100644
--- a/viz/pom.xml
+++ b/viz/pom.xml
@@ -37,11 +37,6 @@
     </properties>
 
 	<dependencies>
-        <dependency>
-            <groupId>org.apache.sedona</groupId>
-            <artifactId>sedona-common</artifactId>
-            <version>${project.version}</version>
-        </dependency>
         <dependency>
             <groupId>org.apache.sedona</groupId>
             <artifactId>sedona-core-${spark.compat.version}_${scala.compat.version}</artifactId>