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/sedona.git
The following commit(s) were added to refs/heads/master by this push:
new cadf73fe0c [DOCS] Add 1.8.0 release notes and update corresponding
docs (#2342)
cadf73fe0c is described below
commit cadf73fe0ce15cab16703fca18afe7b1062aae8b
Author: Jia Yu <[email protected]>
AuthorDate: Sun Sep 7 21:31:05 2025 -0700
[DOCS] Add 1.8.0 release notes and update corresponding docs (#2342)
* Update the supported versions
* Add release notes
* Bump version in mkdcos.yml
* Fix
---
README.md | 2 +-
docs/community/release-manager.md | 14 +--
docs/setup/compile.md | 16 +--
docs/setup/databricks.md | 6 +-
docs/setup/flink/platform.md | 9 +-
docs/setup/glue.md | 3 +
docs/setup/maven-coordinates.md | 52 ++++-----
docs/setup/overview.md | 2 +-
docs/setup/platform.md | 38 ++++---
docs/setup/release-notes.md | 229 ++++++++++++++++++++++++++++++++++++++
mkdocs.yml | 16 +--
11 files changed, 314 insertions(+), 73 deletions(-)
diff --git a/README.md b/README.md
index a309cc634e..12fc3c0393 100644
--- a/README.md
+++ b/README.md
@@ -38,7 +38,7 @@
| Download statistics | **Maven** | **PyPI**
| Conda-forge
[...]
|----------------------------|------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------
[...]
-| Apache Sedona | 225k/month | [](https://pepy.tech/projects/apache-sedona)
[](https://pepy.tech/project/apache-sedona)
| [](https://anac
[...]
+| Apache Sedona | 330k/month | [](https://pepy.tech/projects/apache-sedona)
[](https://pepy.tech/project/apache-sedona)
| [](https://anac
[...]
| Archived GeoSpark releases | 10k/month | [](https://pepy.tech/projects/geospark)[](https://pepy.tech/project/geospark)
|
[...]
<!-- START doctoc generated TOC please keep comment here to allow auto update
-->
diff --git a/docs/community/release-manager.md
b/docs/community/release-manager.md
index fede71e4f6..3252154403 100644
--- a/docs/community/release-manager.md
+++ b/docs/community/release-manager.md
@@ -23,13 +23,13 @@ You only need to perform these steps if this is your first
time being a release
## 0. Software requirement
-* JDK 8: `brew install openjdk@8`
-* Maven 3.X. Your Maven must point to JDK 8 (1.8). Check it by `mvn --version`
+* JDK 11/17: `brew install openjdk@11` or `brew install openjdk@17`
+* Maven 3.X. Your Maven must point to JDK 11 or 17. Check it by `mvn --version`
* Git and SVN
-If your Maven (`mvn --version`) points to other JDK versions, you must change
it to JDK 8. Steps are as follows:
+If your Maven (`mvn --version`) points to other JDK versions, you must change
it to JDK 11 or 17. Steps are as follows:
-1. Find all Java installed on your machine: `/usr/libexec/java_home -V`. You
should see multiple JDK versions including JDK 8.
+1. Find all Java installed on your machine: `/usr/libexec/java_home -V`. You
should see multiple JDK versions including JDK 11 and 17.
2. Run `whereis mvn` to get the installation location of your Maven. The
result is a symlink to the actual location.
3. Open it in the terminal (with `sudo` if needed). It will be like this
@@ -38,14 +38,14 @@ If your Maven (`mvn --version`) points to other JDK
versions, you must change it
JAVA_HOME="${JAVA_HOME:-$(/usr/libexec/java_home)}" exec
"/usr/local/Cellar/maven/3.6.3/libexec/bin/mvn" "$@"
```
-4. Change `JAVA_HOME:-$(/usr/libexec/java_home)}` to
`JAVA_HOME:-$(/usr/libexec/java_home -v 1.8)}`. The resulting content will be
like this:
+4. Change `JAVA_HOME:-$(/usr/libexec/java_home)}` to
`JAVA_HOME:-$(/usr/libexec/java_home -v 11)}` or
`JAVA_HOME:-$(/usr/libexec/java_home -v 17)}`. The resulting content will be
like this:
```
#!/bin/bash
-JAVA_HOME="${JAVA_HOME:-$(/usr/libexec/java_home -v 1.8)}" exec
"/usr/local/Cellar/maven/3.6.3/libexec/bin/mvn" "$@"
+JAVA_HOME="${JAVA_HOME:-$(/usr/libexec/java_home -v 11)}" exec
"/usr/local/Cellar/maven/3.6.3/libexec/bin/mvn" "$@"
```
-5. Run `mvn --version` again. It should now point to JDK 8.
+5. Run `mvn --version` again. It should now point to JDK 11 or 17.
## 1. Obtain Write Access to Sedona GitHub repo
diff --git a/docs/setup/compile.md b/docs/setup/compile.md
index d9b563bc23..1c66c49244 100644
--- a/docs/setup/compile.md
+++ b/docs/setup/compile.md
@@ -25,7 +25,7 @@
Sedona Scala/Java code is a project with multiple modules. Each module is a
Scala/Java mixed project which is managed by Apache Maven 3.
-* Make sure your Linux/Mac machine has Java 1.11, Apache Maven 3.3.1+, and
Python3.8+. The compilation of Sedona is not tested on Windows machines.
+* Make sure your Linux/Mac machine has Java 11/17, Apache Maven 3.3.1+, and
Python3.8+. The compilation of Sedona is not tested on Windows machines.
To compile all modules, please make sure you are in the root folder of all
modules. Then enter the following command in the terminal:
@@ -48,7 +48,7 @@ To compile all modules, please make sure you are in the root
folder of all modul
Geotools jars will be packaged into the produced fat jars.
!!!note
- By default, this command will compile Sedona with Spark 3.3 and Scala
2.12
+ By default, this command will compile Sedona with Spark 3.4 and Scala
2.12
### Compile with different targets
@@ -57,19 +57,19 @@ User can specify `-Dspark` and `-Dscala` command line
options to compile with di
* `-Dspark`: `{major}.{minor}`: For example, specify `-Dspark=3.4` to build
for Spark 3.4.
* `-Dscala`: `2.12` or `2.13`
-=== "Spark 3.3+ Scala 2.12"
+=== "Spark 3.4+ Scala 2.12"
```
- mvn clean install -DskipTests -Dspark=3.3 -Dscala=2.12
+ mvn clean install -DskipTests -Dspark=3.4 -Dscala=2.12
```
- Please replace `3.3` with Spark major.minor version when building for
higher Spark versions.
-=== "Spark 3.3+ Scala 2.13"
+ Please replace `3.4` with Spark major.minor version when building for
higher Spark versions.
+=== "Spark 3.4+ Scala 2.13"
```
mvn clean install -DskipTests -Dspark=3.4 -Dscala=2.13
```
- Please replace `3.3` with Spark major.minor version when building for
higher Spark versions.
+ Please replace `3.4` with Spark major.minor version when building for
higher Spark versions.
!!!tip
- To get the Sedona Spark Shaded jar with all GeoTools jars included,
simply append `-Dgeotools` option. The command is like this:`mvn clean install
-DskipTests -Dscala=2.12 -Dspark=3.0 -Dgeotools`
+ To get the Sedona Spark Shaded jar with all GeoTools jars included,
simply append `-Dgeotools` option. The command is like this:`mvn clean install
-DskipTests -Dscala=2.12 -Dspark=3.4 -Dgeotools`
### Download staged jars
diff --git a/docs/setup/databricks.md b/docs/setup/databricks.md
index af96a2bc64..22f61a71b6 100644
--- a/docs/setup/databricks.md
+++ b/docs/setup/databricks.md
@@ -48,11 +48,11 @@ curl -o /Workspace/Shared/sedona/{{ sedona.current_version
}}/geotools-wrapper-{
curl -o /Workspace/Shared/sedona/{{ sedona.current_version
}}/sedona-spark-shaded-3.5_2.12-{{ sedona.current_version }}.jar
"https://repo1.maven.org/maven2/org/apache/sedona/sedona-spark-shaded-3.5_2.12/{{
sedona.current_version }}/sedona-spark-shaded-3.5_2.12-{{
sedona.current_version }}.jar"
```
-Here are the software versions used to compile
`sedona-spark-shaded-3.5_2.12-1.7.1.jar`:
+Here are the software versions used to compile
`sedona-spark-shaded-3.5_2.12-{{ sedona.current_version }}.jar`:
* Spark 3.5
* Scala 2.12
-* Sedona 1.7.1
+* Sedona {{ sedona.current_version }}
Ensure that you use a Databricks Runtime with versions compatible with this
jar.
@@ -76,7 +76,7 @@ cat > /Workspace/Shared/sedona/sedona-init.sh <<'EOF'
#
# On cluster startup, this script will copy the Sedona jars to the cluster's
default jar directory.
-cp /Workspace/Shared/sedona/1.7.1/*.jar /databricks/jars
+cp /Workspace/Shared/sedona/{{ sedona.current_version }}/*.jar /databricks/jars
EOF
```
diff --git a/docs/setup/flink/platform.md b/docs/setup/flink/platform.md
index 082db1e61d..29e9b4de23 100644
--- a/docs/setup/flink/platform.md
+++ b/docs/setup/flink/platform.md
@@ -17,4 +17,11 @@
under the License.
-->
-Sedona Flink binary releases are compiled by Java 1.8 and Scala 2.12, and
tested with Flink 1.12 - 1.19.
+Sedona Flink binary releases are compiled by Java 11/17 and Scala 2.12, and
tested with Flink 1.12 - 1.19.
+
+**Java Requirements:**
+
+- Flink 1.12 - 1.18: Java 11
+- Flink 1.19+: Java 17
+
+**Note:** Java 8 support is dropped since Sedona 1.8.0.
diff --git a/docs/setup/glue.md b/docs/setup/glue.md
index 1937836764..ec6c6722a8 100644
--- a/docs/setup/glue.md
+++ b/docs/setup/glue.md
@@ -25,6 +25,9 @@ In the tutorial, we use
Sedona {{ sedona.current_version }} and [Glue
4.0](https://docs.aws.amazon.com/glue/latest/dg/release-notes.html) which runs
on Spark 3.3.0, Java 8, Scala 2.12,
and Python 3.10. We recommend Sedona-1.3.1-incubating and above for Glue.
+!!!warning
+ **Important:** Since Sedona 1.8.0, Java 8 support is dropped and Spark 3.3
support is dropped. For Sedona 1.8.0+, you need to use Glue 5.0+ which supports
Java 11 and Spark 3.4+.
+
## Gather Maven Links
You will need to point your glue job to the Sedona and Geotools jars. We
recommend using the jars available from maven. The links below are those
intended for Glue 4.0
diff --git a/docs/setup/maven-coordinates.md b/docs/setup/maven-coordinates.md
index e54870be7b..0da7eb3973 100644
--- a/docs/setup/maven-coordinates.md
+++ b/docs/setup/maven-coordinates.md
@@ -37,12 +37,12 @@ The optional GeoTools library is required if you want to
use CRS transformation,
!!! abstract "Sedona with Apache Spark and Scala 2.12"
- === "Spark 3.3 and Scala 2.12"
+ === "Spark 3.4 and Scala 2.12"
```xml
<dependency>
<groupId>org.apache.sedona</groupId>
- <artifactId>sedona-spark-shaded-3.3_2.12</artifactId>
+ <artifactId>sedona-spark-shaded-3.4_2.12</artifactId>
<version>{{ sedona.current_version }}</version>
</dependency>
<!-- Optional:
https://mvnrepository.com/artifact/org.datasyslab/geotools-wrapper -->
@@ -52,13 +52,12 @@ The optional GeoTools library is required if you want to
use CRS transformation,
<version>{{ sedona.current_geotools }}</version>
</dependency>
```
-
- === "Spark 3.4 and Scala 2.12"
+ === "Spark 3.5 and Scala 2.12"
```xml
<dependency>
<groupId>org.apache.sedona</groupId>
- <artifactId>sedona-spark-shaded-3.4_2.12</artifactId>
+ <artifactId>sedona-spark-shaded-3.5_2.12</artifactId>
<version>{{ sedona.current_version }}</version>
</dependency>
<!-- Optional:
https://mvnrepository.com/artifact/org.datasyslab/geotools-wrapper -->
@@ -68,12 +67,13 @@ The optional GeoTools library is required if you want to
use CRS transformation,
<version>{{ sedona.current_geotools }}</version>
</dependency>
```
- === "Spark 3.5 and Scala 2.12"
+
+ === "Spark 4.0 and Scala 2.12"
```xml
<dependency>
<groupId>org.apache.sedona</groupId>
- <artifactId>sedona-spark-shaded-3.5_2.12</artifactId>
+ <artifactId>sedona-spark-shaded-4.0_2.12</artifactId>
<version>{{ sedona.current_version }}</version>
</dependency>
<!-- Optional:
https://mvnrepository.com/artifact/org.datasyslab/geotools-wrapper -->
@@ -86,12 +86,12 @@ The optional GeoTools library is required if you want to
use CRS transformation,
!!! abstract "Sedona with Apache Spark and Scala 2.13"
- === "Spark 3.3 and Scala 2.13"
+ === "Spark 3.4 and Scala 2.13"
```xml
<dependency>
<groupId>org.apache.sedona</groupId>
- <artifactId>sedona-spark-shaded-3.3_2.13</artifactId>
+ <artifactId>sedona-spark-shaded-3.4_2.13</artifactId>
<version>{{ sedona.current_version }}</version>
</dependency>
<!-- Optional:
https://mvnrepository.com/artifact/org.datasyslab/geotools-wrapper -->
@@ -101,13 +101,12 @@ The optional GeoTools library is required if you want to
use CRS transformation,
<version>{{ sedona.current_geotools }}</version>
</dependency>
```
-
- === "Spark 3.4 and Scala 2.13"
+ === "Spark 3.5 and Scala 2.13"
```xml
<dependency>
<groupId>org.apache.sedona</groupId>
- <artifactId>sedona-spark-shaded-3.4_2.13</artifactId>
+ <artifactId>sedona-spark-shaded-3.5_2.13</artifactId>
<version>{{ sedona.current_version }}</version>
</dependency>
<!-- Optional:
https://mvnrepository.com/artifact/org.datasyslab/geotools-wrapper -->
@@ -117,12 +116,13 @@ The optional GeoTools library is required if you want to
use CRS transformation,
<version>{{ sedona.current_geotools }}</version>
</dependency>
```
- === "Spark 3.5 and Scala 2.13"
+
+ === "Spark 4.0 and Scala 2.13"
```xml
<dependency>
<groupId>org.apache.sedona</groupId>
- <artifactId>sedona-spark-shaded-3.5_2.13</artifactId>
+ <artifactId>sedona-spark-shaded-4.0_2.13</artifactId>
<version>{{ sedona.current_version }}</version>
</dependency>
<!-- Optional:
https://mvnrepository.com/artifact/org.datasyslab/geotools-wrapper -->
@@ -184,11 +184,11 @@ The optional GeoTools library is required if you want to
use CRS transformation,
!!! abstract "Sedona with Apache Spark and Scala 2.12"
- === "Spark 3.3 and Scala 2.12"
+ === "Spark 3.4 and Scala 2.12"
```xml
<dependency>
<groupId>org.apache.sedona</groupId>
- <artifactId>sedona-spark-3.3_2.12</artifactId>
+ <artifactId>sedona-spark-3.4_2.12</artifactId>
<version>{{ sedona.current_version }}</version>
</dependency>
<dependency>
@@ -197,11 +197,11 @@ The optional GeoTools library is required if you want to
use CRS transformation,
<version>{{ sedona.current_geotools }}</version>
</dependency>
```
- === "Spark 3.4 and Scala 2.12"
+ === "Spark 3.5 and Scala 2.12"
```xml
<dependency>
<groupId>org.apache.sedona</groupId>
- <artifactId>sedona-spark-3.4_2.12</artifactId>
+ <artifactId>sedona-spark-3.5_2.12</artifactId>
<version>{{ sedona.current_version }}</version>
</dependency>
<dependency>
@@ -210,11 +210,11 @@ The optional GeoTools library is required if you want to
use CRS transformation,
<version>{{ sedona.current_geotools }}</version>
</dependency>
```
- === "Spark 3.5 and Scala 2.12"
+ === "Spark 4.0 and Scala 2.12"
```xml
<dependency>
<groupId>org.apache.sedona</groupId>
- <artifactId>sedona-spark-3.5_2.12</artifactId>
+ <artifactId>sedona-spark-4.0_2.12</artifactId>
<version>{{ sedona.current_version }}</version>
</dependency>
<dependency>
@@ -226,11 +226,11 @@ The optional GeoTools library is required if you want to
use CRS transformation,
!!! abstract "Sedona with Apache Spark and Scala 2.13"
- === "Spark 3.3 and Scala 2.13"
+ === "Spark 3.4 and Scala 2.13"
```xml
<dependency>
<groupId>org.apache.sedona</groupId>
- <artifactId>sedona-spark-3.3_2.13</artifactId>
+ <artifactId>sedona-spark-3.4_2.13</artifactId>
<version>{{ sedona.current_version }}</version>
</dependency>
<dependency>
@@ -239,11 +239,11 @@ The optional GeoTools library is required if you want to
use CRS transformation,
<version>{{ sedona.current_geotools }}</version>
</dependency>
```
- === "Spark 3.4 and Scala 2.13"
+ === "Spark 3.5 and Scala 2.13"
```xml
<dependency>
<groupId>org.apache.sedona</groupId>
- <artifactId>sedona-spark-3.4_2.13</artifactId>
+ <artifactId>sedona-spark-3.5_2.13</artifactId>
<version>{{ sedona.current_version }}</version>
</dependency>
<dependency>
@@ -252,11 +252,11 @@ The optional GeoTools library is required if you want to
use CRS transformation,
<version>{{ sedona.current_geotools }}</version>
</dependency>
```
- === "Spark 3.5 and Scala 2.13"
+ === "Spark 4.0 and Scala 2.13"
```xml
<dependency>
<groupId>org.apache.sedona</groupId>
- <artifactId>sedona-spark-3.5_2.13</artifactId>
+ <artifactId>sedona-spark-4.0_2.13</artifactId>
<version>{{ sedona.current_version }}</version>
</dependency>
<dependency>
diff --git a/docs/setup/overview.md b/docs/setup/overview.md
index ffcd449cf4..dcef4b0bf3 100644
--- a/docs/setup/overview.md
+++ b/docs/setup/overview.md
@@ -21,7 +21,7 @@
| Download statistics | **Maven** | **PyPI**
| Conda-forge
[...]
|----------------------------|------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------
[...]
-| Apache Sedona | 225k/month | [](https://pepy.tech/project/apache-sedona)
[](https://pepy.tech/project/apache-sedona)
| [](https://anaconda.
[...]
+| Apache Sedona | 330k/month | [](https://pepy.tech/project/apache-sedona)
[](https://pepy.tech/project/apache-sedona)
| [](https://anaconda.
[...]
| Archived GeoSpark releases | 10k/month | [](https://pepy.tech/project/geospark)[](https://pepy.tech/project/geospark)
|
[...]
# What can Sedona do?
diff --git a/docs/setup/platform.md b/docs/setup/platform.md
index 1161825583..9ea2abe091 100644
--- a/docs/setup/platform.md
+++ b/docs/setup/platform.md
@@ -17,31 +17,33 @@
under the License.
-->
-Sedona binary releases are compiled by Java 1.8 and Scala 2.11/2.12 and tested
in the following environments:
+Sedona binary releases are compiled by Java 11/17 and Scala 2.12/2.13 and
tested in the following environments:
-!!!warning
- Support of Spark 3.0, 3.1, 3.2 was removed in Sedona 1.7.0+ although
some parts of the source code might still be compatible.
+**Java Requirements:**
+
+- Spark 3.4 & 3.5: Java 11
+- Spark 4.0: Java 17
+
+**Note:** Java 8 support is dropped since Sedona 1.8.0. Spark 3.3 support is
dropped since Sedona 1.8.0.
=== "Sedona Scala/Java"
- | | Spark 3.0 | Spark 3.1 | Spark 3.2| Spark 3.3| Spark
3.4| Spark 3.5 |
-
|:---------:|:---------:|:---------:|:---------:|:---------:|:---------:|:---------:|
- | Scala 2.11 | not tested | not tested | not tested |not tested
|not tested |not tested |
- | Scala 2.12 | not tested | not tested | not tested |✅ |✅ |✅ |
- | Scala 2.13 | not tested | not tested | not tested|✅ |✅ |✅ |
+ | | Spark 3.4| Spark 3.5 | Spark 4.0 |
+ |:---------:|:---------:|:---------:|:---------:|
+ | Scala 2.12 |✅ |✅ |✅ |
+ | Scala 2.13 |✅ |✅ |✅ |
=== "Sedona Python"
- | | Spark 3.0 (Scala 2.12)|Spark 3.1 (Scala 2.12)| Spark 3.2
(Scala 2.12)| Spark 3.3 (Scala 2.12)|Spark 3.4 (Scala 2.12)|Spark 3.5 (Scala
2.12)|
-
|:---------:|:---------:|:---------:|:---------:|:---------:|:---------:|:---------:|
- | Python 3.7 | not tested | not tested | not tested | ✅ | ✅ | ✅
|
- | Python 3.8 | not tested |not tested |not tested | ✅ | ✅ | ✅ |
- | Python 3.9 | not tested |not tested |not tested | ✅ | ✅ | ✅ |
- | Python 3.10 | not tested |not tested |not tested | ✅ | ✅ | ✅ |
+ | | Spark 3.4 (Scala 2.12)|Spark 3.5 (Scala 2.12)| Spark 4.0
(Scala 2.12)|
+ |:---------:|:---------:|:---------:|:---------:|
+ | Python 3.7 | ✅ | ✅ | ✅ |
+ | Python 3.8 | ✅ | ✅ | ✅ |
+ | Python 3.9 | ✅ | ✅ | ✅ |
+ | Python 3.10 | ✅ | ✅ | ✅ |
=== "Sedona R"
- | | Spark 3.0 | Spark 3.1 | Spark 3.2 | Spark 3.3 | Spark
3.4 | Spark 3.5 |
-
|:---------:|:---------:|:---------:|:---------:|:---------:|:---------:|:---------:|
- | Scala 2.11 | not tested | not tested | not tested | not tested
|not tested |not tested |
- | Scala 2.12 | not tested | not tested | not tested | ✅ | ✅ | ✅ |
+ | | Spark 3.4 | Spark 3.5 | Spark 4.0 |
+ |:---------:|:---------:|:---------:|:---------:|
+ | Scala 2.12 | ✅ | ✅ | ✅ |
diff --git a/docs/setup/release-notes.md b/docs/setup/release-notes.md
index 5ca5421113..7eb968100a 100644
--- a/docs/setup/release-notes.md
+++ b/docs/setup/release-notes.md
@@ -17,6 +17,235 @@
under the License.
-->
+## Sedona 1.8.0
+
+Sedona 1.8.0 is compiled against:
+
+- **Spark**: 3.4, 3.5, 4.0
+- **Flink**: 1.19
+- **Snowflake**: 7+
+
+**Java Requirements:**
+
+- Spark 3.4 & 3.5: Java 11
+- Spark 4.0: Java 17
+
+Spark 3.3 and Java 8 support are dropped since the 1.8.0 release.
+
+This is a major release that introduces significant new features including
GeoPandas Compatible API, S2Geography support, and major platform upgrades.
+
+### New Contributors
+
+* @jesspav made their first contribution in
https://github.com/apache/sedona/pull/1942
+* @raveendra11 made their first contribution in
https://github.com/apache/sedona/pull/1981
+* @petern48 made their first contribution in
https://github.com/apache/sedona/pull/1990
+* @Aashish-Jha-11 made their first contribution in
https://github.com/apache/sedona/pull/2000
+* @SumitGupta016 made their first contribution in
https://github.com/apache/sedona/pull/1999
+* @giswqs made their first contribution in
https://github.com/apache/sedona/pull/2003
+* @ZhuochengShang made their first contribution in
https://github.com/apache/sedona/pull/1992
+* @Subham-KRLX made their first contribution in
https://github.com/apache/sedona/pull/2114
+* @Gautam3994 made their first contribution in
https://github.com/apache/sedona/pull/2190
+* @jjestrada2 made their first contribution in
https://github.com/apache/sedona/pull/2239
+
+### Highlights
+
+* [X] [<a
href='https://issues.apache.org/jira/browse/SEDONA-720'>SEDONA-720</a>]
GeoPandas Compatible API - Complete implementation of GeoPandas-like interface
for Sedona
+* [X] [<a
href='https://issues.apache.org/jira/browse/SEDONA-721'>SEDONA-721</a>]
Vectorized UDF for Python - High-performance vectorized user-defined functions
+* [X] [<a
href='https://issues.apache.org/jira/browse/SEDONA-738'>SEDONA-738</a>] Moran I
Autocorrelation - Spatial autocorrelation analysis
+* [X] [<a
href='https://issues.apache.org/jira/browse/SEDONA-743'>SEDONA-743</a>] MySQL
Geometry Support - Direct loading of MySQL geometry objects
+* [X] [<a
href='https://issues.apache.org/jira/browse/SEDONA-725'>SEDONA-725</a>] PyFlink
Support - Python API for Apache Flink
+* [X] S2Geography Support - Complete S2-based geography data type with
comprehensive functions
+* [X] [<a
href='https://issues.apache.org/jira/browse/SEDONA-741'>SEDONA-741</a>]
Enhanced Spatial Filter Pushdown - Improved query performance with ST_DWithin
and ST_DistanceSpheroid
+* [X] [<a
href='https://issues.apache.org/jira/browse/SEDONA-742'>SEDONA-742</a>]
ST_DistanceSphere Filter Pushdown - Additional spatial filter optimizations
+* [X] Java 11 Upgrade - Modern Java runtime support
+* [X] GeoTools 33 Upgrade - Latest geospatial library support
+* [X] Spark 4.0 Support - Full compatibility with Apache Spark 4.0
+* [X] Libpostal Integration - Address parsing and geocoding capabilities
+
+### New Features
+
+#### GeoPandas Compatible API
+
+* [<a href='https://issues.apache.org/jira/browse/SEDONA-720'>SEDONA-720</a>]
- Complete GeoPandas-compatible API implementation
+* [<a href='https://github.com/apache/sedona/issues/1990'>GH-1990</a>] -
Geopandas.Series **repr**() and to_geopandas()
+* [<a href='https://github.com/apache/sedona/issues/2005'>GH-2005</a>] -
Geopandas.GeoSeries: Implement Test Framework
+* [<a href='https://github.com/apache/sedona/issues/2008'>GH-2008</a>] -
Geopandas.Dataframe: Fix constructor for pandas-on-pyspark and Sedona Geopandas
input types
+* [<a href='https://github.com/apache/sedona/issues/2014'>GH-2014</a>] -
Geopandas.Series: Implement crs property and set_crs
+* [<a href='https://github.com/apache/sedona/issues/2017'>GH-2017</a>] -
Geopandas.GeoSeries: Implement x(), y(), z(), **has_z**
+* [<a href='https://github.com/apache/sedona/issues/2019'>GH-2019</a>] -
Geopandas.GeoSeries: Setup skeleton of functions and tests
+* [<a href='https://github.com/apache/sedona/issues/2021'>GH-2021</a>] -
Geopandas.GeoSeries: Implement **.length** and refactor
process_geometry_column()
+* [<a href='https://github.com/apache/sedona/issues/2023'>GH-2023</a>] -
Geopandas.GeoSeries: Implement geom_type
+* [<a href='https://github.com/apache/sedona/issues/2026'>GH-2026</a>] -
Geopandas.GeoSeries: Implement is_valid, is_empty, is_simple
+* [<a href='https://github.com/apache/sedona/issues/2032'>GH-2032</a>] -
Geopandas.GeoSeries: Implement isna, notna and aliases (isnull, notnull)
+* [<a href='https://github.com/apache/sedona/issues/2038'>GH-2038</a>] -
Implement **row_wise_operation** + intersection, intersect
+* [<a href='https://github.com/apache/sedona/issues/2040'>GH-2040</a>] -
Geopandas.GeoSeries: Implement from_wkb, from_wkt, from_xy + temp **init** fix
+* [<a href='https://github.com/apache/sedona/issues/2042'>GH-2042</a>] -
Implement boundary, centroid, envelope
+* [<a href='https://github.com/apache/sedona/issues/2044'>GH-2044</a>] -
Geopandas.GeoSeries: Implement is_valid_reason, make_valid
+* [<a href='https://github.com/apache/sedona/issues/2046'>GH-2046</a>] -
Geopandas.GeoSeries: Implement fillna
+* [<a href='https://github.com/apache/sedona/issues/2048'>GH-2048</a>] -
Geopandas.GeoSeries: Implement to_crs
+* [<a href='https://github.com/apache/sedona/issues/2056'>GH-2056</a>] -
Geopandas.GeoSeries: Implement estimate_utm_crs, bounds, total_bounds,
**getitem**
+* [<a href='https://github.com/apache/sedona/issues/2057'>GH-2057</a>] -
Geopandas.GeoSeries: Implement align=False for **row_wise_operation** + support
indexes
+* [<a href='https://github.com/apache/sedona/issues/2058'>GH-2058</a>] -
Geopandas: set_geometry, rename_geometry, active_geometry_name + refactor tests
+* [<a href='https://github.com/apache/sedona/issues/2061'>GH-2061</a>] -
Geopandas.GeoSeries: Implement crosses, overlaps, touches, within, covers,
covered_by, contains, distance
+* [<a href='https://github.com/apache/sedona/issues/2071'>GH-2071</a>] -
Geopandas.GeoSeries: Implement `get_geometry`
+* [<a href='https://github.com/apache/sedona/issues/2080'>GH-2080</a>] - Store
geometries in EWKB format in spark df and enforce it
+* [<a href='https://github.com/apache/sedona/issues/2086'>GH-2086</a>] -
Retain index information in query results
+* [<a href='https://github.com/apache/sedona/issues/2105'>GH-2105</a>] -
Geopandas: Implement `to_json`, `to_arrow`, `from_arrow`
+* [<a href='https://github.com/apache/sedona/issues/2109'>GH-2109</a>] -
Geopandas.GeoSeries: Implement `union_all` aggregation
+* [<a href='https://github.com/apache/sedona/issues/2111'>GH-2111</a>] -
Geopandas.GeoSeries: Implement simplify and snap
+* [<a href='https://github.com/apache/sedona/issues/2113'>GH-2113</a>] -
Geopandas.GeoSeries: Implement `to_wkt` and `to_wkb`
+* [<a href='https://github.com/apache/sedona/issues/2117'>GH-2117</a>] -
Geopandas.GeoSeries: Implement `difference` and `dwithin`
+* [<a href='https://github.com/apache/sedona/issues/2121'>GH-2121</a>] -
Geopandas: Implement Scalable workaround and store as geometries instead of EWKB
+* [<a href='https://github.com/apache/sedona/issues/2124'>GH-2124</a>] -
Support serializing LinearRing in C bindings for Python interface
+* [<a href='https://github.com/apache/sedona/issues/2131'>GH-2131</a>] -
Geopandas: Refactor to use Spark Dataframe API instead of Spark SQL
+* [<a href='https://github.com/apache/sedona/issues/2145'>GH-2145</a>] -
Geopandas: Clean up tests, reduce test time, add LinearRing tests
+* [<a href='https://github.com/apache/sedona/issues/2150'>GH-2150</a>] -
Geopandas: Implement `to_file`, `from_file`, `read_file`
+* [<a href='https://github.com/apache/sedona/issues/2162'>GH-2162</a>] - Add
constructor tests and re-enable more linear ring tests
+* [<a href='https://github.com/apache/sedona/issues/2163'>GH-2163</a>] -
Geopandas: Share geoseries functions in base class to implement them for
geodataframe
+* [<a href='https://github.com/apache/sedona/issues/2167'>GH-2167</a>] - More
pathing fixes for Python package refactor
+* [<a href='https://github.com/apache/sedona/issues/2170'>GH-2170</a>] - Clean
up Geopandas Documentation after the refactor
+* [<a href='https://github.com/apache/sedona/issues/2179'>GH-2179</a>] -
Implement ST_Segmentize function and geopandas.segmentize()
+* [<a href='https://github.com/apache/sedona/issues/2184'>GH-2184</a>] - Fix
ST_Buffer logic cap_style when specifying 'side' parameter + Implement rest of
geoseries.buffer()
+* [<a href='https://github.com/apache/sedona/issues/2193'>GH-2193</a>] -
Geopandas: Implement `plot()` for GeoDataFrame and GeoSeries + `read_parquet`
+* [<a href='https://github.com/apache/sedona/issues/2203'>GH-2203</a>] -
Geopandas: Optimize crs operations, getitem, and set_geometry + impl scalable
getitem
+* [<a href='https://github.com/apache/sedona/issues/2209'>GH-2209</a>] -
Geopandas: Fix sjoin implementation + proper naming and index behavior
+* [<a href='https://github.com/apache/sedona/issues/2216'>GH-2216</a>] -
Retain sindex, make sindex.query return geometries, implement has_sindex
+* [<a href='https://github.com/apache/sedona/issues/2219'>GH-2219</a>] - Fix
index retaining behavior for row_wise_operations on dataframes
+* [<a href='https://github.com/apache/sedona/issues/2225'>GH-2225</a>] - Move
sedona.geopandas to sedona.spark.geopandas
+* [<a href='https://github.com/apache/sedona/issues/2229'>GH-2229</a>] - Add
Geopandas Developer Guide README.md
+* [<a href='https://github.com/apache/sedona/issues/2232'>GH-2232</a>] -
Implement is_ring
+* [<a href='https://github.com/apache/sedona/issues/2243'>GH-2243</a>] -
Geopandas: Remove orderBy in query_geometry_column
+* [<a href='https://github.com/apache/sedona/issues/2265'>GH-2265</a>] -
Geopandas: Support other of type GeoDataframe in row_wise_operations
+* [<a href='https://github.com/apache/sedona/issues/2267'>GH-2267</a>] -
Geopandas: Remove unnecessary old_crs check and in `to_crs`
+* [<a href='https://github.com/apache/sedona/issues/2270'>GH-2270</a>] -
Geopandas: Fix geodataframe.copy() to properly create a copy
+* [<a href='https://github.com/apache/sedona/issues/2274'>GH-2274</a>] - Fix
GeoPandas errors and issues in the examples
+* [<a href='https://github.com/apache/sedona/issues/2280'>GH-2280</a>] -
Geopandas: Support sjoin with `covers` and `covered_by` predicates
+* [<a href='https://github.com/apache/sedona/issues/2282'>GH-2282</a>] -
Geopandas: set ps option 'compute.ops_on_diff_frames' to True by default
+* [<a href='https://github.com/apache/sedona/issues/2289'>GH-2289</a>] - Make
it clear sindex queries doesn't support GeoSeries as input
+* [<a href='https://github.com/apache/sedona/issues/2319'>GH-2319</a>] -
Reapply Geopandas doc improvements and add io section to docs
+* [<a href='https://github.com/apache/sedona/issues/2332'>GH-2332</a>] -
Geopandas: Document differences of sindex compared to gpd + sindex fixes
+* [<a href='https://github.com/apache/sedona/issues/2067'>GH-2067</a>] -
Implement spatial index sindex query() and unit tests
+* [<a href='https://github.com/apache/sedona/issues/2084'>GH-2084</a>] -
Implement nearest Method for GeoPandas Spatial Index
+* [<a href='https://github.com/apache/sedona/issues/2088'>GH-2088</a>] -
Implement intersection Method for GeoPandas.SpatialIndex
+* [<a href='https://github.com/apache/sedona/issues/2099'>GH-2099</a>] - Fix
the Geopandas sindex query method predicate logic
+* [<a href='https://github.com/apache/sedona/issues/2101'>GH-2101</a>] -
Enhance geopandas sjoin implementation
+
+#### S2Geography Support
+
+* [<a href='https://github.com/apache/sedona/issues/1992'>GH-1992</a>] -
Create object of S2Geography, and implement Point/Polyline/PolygonGeography
with its encoder/decoder
+* [<a href='https://github.com/apache/sedona/issues/2054'>GH-2054</a>] - Shade
S2 and Guava into runtime JARs
+* [<a href='https://github.com/apache/sedona/issues/2027'>GH-2027</a>] -
Implementations of GeographyCollection & ShapeIndexGeography on S2Geography
+* [<a href='https://github.com/apache/sedona/issues/2221'>GH-2221</a>] - Add
Singlepoint, Singlepolyline for correctly round trip WKT write
+* [<a href='https://github.com/apache/sedona/issues/2223'>GH-2223</a>] -
Register S2Geography UDT as Geography UDT into Apache Sedona
+* [<a href='https://github.com/apache/sedona/issues/2051'>GH-2051</a>] -
Implement geospatial functions of Distance, Predicates, Projection
+* [<a href='https://github.com/apache/sedona/issues/2090'>GH-2090</a>] - WKB,
WKT reader & writer
+* [<a href='https://github.com/apache/sedona/issues/2262'>GH-2262</a>] - Add
new constructor ST_GeogFromEWKT
+* [<a href='https://github.com/apache/sedona/issues/2260'>GH-2260</a>] - Add
new constructor ST_GeogFromEKWB
+* [<a href='https://github.com/apache/sedona/issues/2271'>GH-2271</a>] - Add
new constructor ST_GeogFromGeoHash
+* [<a href='https://github.com/apache/sedona/issues/2275'>GH-2275</a>] - New
constructor of convert Geography to Geometry
+* [<a href='https://github.com/apache/sedona/issues/2298'>GH-2298</a>] - Add
constructor of Geometry to Geography
+* [<a href='https://github.com/apache/sedona/issues/2285'>GH-2285</a>] -
ST_Envelope on Geography
+* [<a href='https://github.com/apache/sedona/issues/2309'>GH-2309</a>] - Add
function of ST_AsEWKT
+* [<a href='https://github.com/apache/sedona/issues/2303'>GH-2303</a>] - Add
Multipolygon encode / decode
+* [<a href='https://github.com/apache/sedona/issues/2305'>GH-2305</a>] -
Update more robust instream count for Geography decode
+
+#### Other New Features
+
+* [<a href='https://issues.apache.org/jira/browse/SEDONA-721'>SEDONA-721</a>]
- Add Sedona vectorized udf for Python
+* [<a href='https://issues.apache.org/jira/browse/SEDONA-738'>SEDONA-738</a>]
- Add moran i autocorrelation
+* [<a href='https://issues.apache.org/jira/browse/SEDONA-743'>SEDONA-743</a>]
- Add geom from mysql function, to support loading MySQL geometry object
directly to Sedona
+* [<a href='https://issues.apache.org/jira/browse/SEDONA-741'>SEDONA-741</a>]
- Make ST_DWithin and ST_DistanceSpheroid filters to push down
+* [<a href='https://issues.apache.org/jira/browse/SEDONA-742'>SEDONA-742</a>]
- Push down ST_DistanceSphere filter
+* [<a href='https://github.com/apache/sedona/issues/2077'>GH-2077</a>] - Add
libpostal integration
+* [<a href='https://github.com/apache/sedona/issues/1755'>GH-1755</a>] -
Implement ST_Segmentize function and geopandas.segmentize()
+* [<a href='https://github.com/apache/sedona/issues/2003'>GH-2003</a>] - Add
params to KeplerGl constructor
+* [<a href='https://github.com/apache/sedona/issues/1885'>GH-1885</a>] -
Create EnvelopeAccumulator class
+* [<a href='https://github.com/apache/sedona/issues/2295'>GH-2295</a>] -
Introduce XYZM support in GeoJSON reader and writer
+
+### Platform & Infrastructure
+
+#### Major Upgrades
+
+* [<a href='https://github.com/apache/sedona/issues/1942'>GH-1942</a>] -
Upgrade to Java 11
+* [<a href='https://github.com/apache/sedona/issues/1967'>GH-1967</a>] -
Upgrade to GeoTools 33
+* [<a href='https://github.com/apache/sedona/issues/1919'>GH-1919</a>] - Spark
4 support
+* [<a href='https://github.com/apache/sedona/issues/1958'>GH-1958</a>] - Drop
support for Spark 3.3 and Python 3.7
+
+#### PyFlink Support
+
+* [<a href='https://github.com/apache/sedona/issues/1875'>GH-1875</a>] - Add
pyflink to Sedona
+* [<a href='https://github.com/apache/sedona/issues/1930'>GH-1930</a>] -
Restructure spark python package
+
+#### Dependency Updates
+
+* [<a href='https://github.com/apache/sedona/issues/1964'>GH-1964</a>] - Shade
Jiffle and its dependencies
+* [<a href='https://github.com/apache/sedona/issues/2098'>GH-2098</a>] - Use
graphframes 0.9.0
+* [<a href='https://github.com/apache/sedona/issues/2317'>GH-2317</a>] - Fix
graphframes dependency across Spark major versions
+* [<a href='https://github.com/apache/sedona/issues/2320'>GH-2320</a>] -
Remove unexpected mandatory Python dependencies
+* [<a href='https://github.com/apache/sedona/issues/2322'>GH-2322</a>] -
Remove unnecessary commons-lang dependency
+* [<a href='https://github.com/apache/sedona/issues/2328'>GH-2328</a>] - Add
SedonaDB extra
+
+### Bug
+
+#### Rasterization & RS Functions
+
+* [<a href='https://issues.apache.org/jira/browse/SEDONA-740'>SEDONA-740</a>]
- Fix rasterization rounding issue
+
+#### STAC Reader
+
+* [<a href='https://github.com/apache/sedona/issues/2125'>GH-2125</a>] - Fix
STAC reader to accept tuples for datetime parameter
+* [<a href='https://github.com/apache/sedona/issues/2126'>GH-2126</a>] - Add
Shapely and WKT geometry support to STAC reader
+* [<a href='https://github.com/apache/sedona/issues/2128'>GH-2128</a>] - Fix
STAC python unit tests for remote endpoint
+* [<a href='https://github.com/apache/sedona/issues/2153'>GH-2153</a>] - Fix:
prevent information disclosure through exception messages in STAC client
+* [<a href='https://github.com/apache/sedona/issues/2168'>GH-2168</a>] -
Security issues in the STAC client api
+
+#### OSM Reader
+
+* [<a href='https://github.com/apache/sedona/issues/2308'>GH-2308</a>] - Fix
the precision lost issue in OSM PBF reader
+
+#### GeoPackage Reader
+
+* [<a href='https://github.com/apache/sedona/issues/2339'>GH-2339</a>] - Fix
the DateTimeParseException in GeoPackage reader
+
+#### Python & Core
+
+* [<a href='https://github.com/apache/sedona/issues/2073'>GH-2073</a>] - Fix
Structured Adapter Issue with Spatial Queries
+* [<a href='https://github.com/apache/sedona/issues/2123'>GH-2123</a>] - Fix
deserialization of geometry SRID in python
+* [<a href='https://github.com/apache/sedona/issues/2135'>GH-2135</a>] - Fix
bug where get_crs logic won't work if first element is null
+* [<a href='https://github.com/apache/sedona/issues/2253'>GH-2253</a>] -
Deprecation warnings pop up in the wrong place
+* [<a href='https://github.com/apache/sedona/issues/2297'>GH-2297</a>] -
Making GeoParquetFileFormat self-contained to avoid problems on Databricks
+* [<a href='https://github.com/apache/sedona/issues/2301'>GH-2301</a>] - Usage
of transformUpWithPruning prevents sedona from working on Databricks
+* [<a href='https://github.com/apache/sedona/issues/2165'>GH-2165</a>] - Fix
RasterType legacy import path
+* [<a href='https://github.com/apache/sedona/issues/2177'>GH-2177</a>] -
Always use native byte order when writing WKBs
+
+#### Other Bug Fixes
+
+* [<a href='https://github.com/apache/sedona/issues/1981'>GH-1981</a>] -
Hardcoded file paths to local user files
+* [<a href='https://github.com/apache/sedona/issues/2011'>GH-2011</a>] - Fix
issues in the Compile Sedona source code page
+* [<a href='https://github.com/apache/sedona/issues/2015'>GH-2015</a>] - Add
'Closes #<issue_number>' to PR template
+* [<a href='https://github.com/apache/sedona/issues/2029'>GH-2029</a>] -
Rename `lint` workflow to `pre-commit`
+* [<a href='https://github.com/apache/sedona/issues/2033'>GH-2033</a>] -
Remove tabs and indent code
+* [<a href='https://github.com/apache/sedona/issues/2076'>GH-2076</a>] -
Remove duplicate versions matrix entry in python.yml
+* [<a href='https://github.com/apache/sedona/issues/2089'>GH-2089</a>] -
Remove ShapefileRDD Test
+* [<a href='https://github.com/apache/sedona/issues/2132'>GH-2132</a>] - Make
`ST_` and `RS_` function expression classes package private
+* [<a href='https://github.com/apache/sedona/issues/2141'>GH-2141</a>] - Make
DataFrameShims usable outside of sedona
+* [<a href='https://github.com/apache/sedona/issues/2146'>GH-2146</a>] - Add
redirection and warnings for old Python public functions
+* [<a href='https://github.com/apache/sedona/issues/2172'>GH-2172</a>] - Add
hook `check-zip-file-is-not-committed`
+* [<a href='https://github.com/apache/sedona/issues/2188'>GH-2188</a>] - Add
`mvn spotless:apply` as a pre-commit hook
+* [<a href='https://github.com/apache/sedona/issues/2196'>GH-2196</a>] - Fix
the python api build failed to import module errors
+* [<a href='https://github.com/apache/sedona/issues/2205'>GH-2205</a>] - Fix
snowflake tests for ST_Segmentize
+* [<a href='https://github.com/apache/sedona/issues/2220'>GH-2220</a>] - Add
three hooks that target `RST` files
+* [<a href='https://github.com/apache/sedona/issues/2239'>GH-2239</a>] -
Update mkdocs.yml and improve documentation structure
+* [<a href='https://github.com/apache/sedona/issues/2248'>GH-2248</a>] - Fix
RST formatting: Use double backticks for inline code
+* [<a href='https://github.com/apache/sedona/issues/2249'>GH-2249</a>] - Fix
documentation structure after moving sedona.geopandas
+* [<a href='https://github.com/apache/sedona/issues/2256'>GH-2256</a>] - Add
test for ST_GeogFromWKB(byte array)
+* [<a href='https://github.com/apache/sedona/issues/2257'>GH-2257</a>] - Add
MULTIPOLYGON Type in Geography
+* [<a href='https://github.com/apache/sedona/issues/2259'>GH-2259</a>] -
Replace old pypistats badges with Pepy tech badges
+* [<a href='https://github.com/apache/sedona/issues/2268'>GH-2268</a>] - Add
the Python documentation links to the main navigation
+* [<a href='https://github.com/apache/sedona/issues/2278'>GH-2278</a>] - Fix
to_file inferring parquet format instead of geoparquet
+* [<a href='https://github.com/apache/sedona/issues/2293'>GH-2293</a>] - Fix
the missing import paths for some stats functions
+* [<a href='https://github.com/apache/sedona/issues/2315'>GH-2315</a>] -
Update the Databricks instruction for the Python API
+
## Sedona 1.7.2
Sedona 1.7.2 is compiled against Spark 3.3 / Spark 3.4 / Spark 3.5, Flink
1.19, Snowflake 7+, Java 8.
diff --git a/mkdocs.yml b/mkdocs.yml
index 24ceb44970..4be565b7b9 100644
--- a/mkdocs.yml
+++ b/mkdocs.yml
@@ -151,7 +151,7 @@ nav:
- Contributor Guide:
- Rules: community/rule.md
- Develop: community/develop.md
- - Contribute to Geopandas: community/geopandas.md
+ - Contribute to Geopandas API on Sedona: community/geopandas.md
- Committer Guide:
- Project Management Committee: community/contributor.md
- Become a release manager: community/release-manager.md
@@ -207,14 +207,14 @@ extra:
- icon: fontawesome/brands/discord
link: 'https://discord.gg/9A3k5dEBsY'
sedona:
- current_version: 1.7.2
- current_geotools: 1.7.2-28.5
+ current_version: 1.8.0
+ current_geotools: 1.8.0-33.1
sedona_create_release:
- current_version: 1.7.1
- current_git_tag: sedona-1.7.1-rc1
- current_rc: 1.7.1-rc1
- current_snapshot: 1.8.0-SNAPSHOT
- next_version: 1.8.0
+ current_version: 1.8.0
+ current_git_tag: sedona-1.8.0-rc1
+ current_rc: 1.8.0-rc1
+ current_snapshot: 1.8.1-SNAPSHOT
+ next_version: 1.8.1
copyright: Copyright © 2025 The Apache Software Foundation. Apache Sedona,
Sedona, Apache, the Apache feather logo, and the Apache Sedona project logo are
either registered trademarks or trademarks of The Apache Software Foundation in
the United States and other countries. All other marks mentioned may be
trademarks or registered trademarks of their respective owners. Please visit <a
href="https://www.apache.org/">Apache Software Foundation</a> for more
details.<img referrerpolicy="no-re [...]
markdown_extensions: