We're chuffed to announce Apache SedonaDB 0.3.0! This release features a rewritten join that supports larger-than-memory spatial/KNN joins courtesy of Kristin Cowalcijk, 36 new functions, item-level CRSes, parameterized SQL queries, @gdal /pyogrio-based writes for FlatGeoBuf, Shapefile, and GeoPackage, GDAL/sf based reads in R, and the beginnings of an R DataFrame API.
The spatial join refactor was a major undertaking; however, gives considerably more flexibility for running SedonaDB in memory constrained environments (e.g., containers, cloud deployments) and increases the size of the data you can swing around on your laptop. It's currently opt-in (requires setting a memory limit)...give it a go and let us know how it goes!
Item-level CRS support was a project I worked on...SedonaDB can now represent geometries with a separate CRS per row (like @postgis, EWKB, and a few other database systems in the wild), including transforming to and from with CRSes derived from a column. If you've ever been sent a spreadsheet with UTM coordinates with a "zone" column, this feature is for you!
One of the most commonly requested features by those of us who wrote SedonaDB code frequently was parameterized SQL queres...we're lucky to be able to leverage DataFusion's fantastic SQL parser to express our functionality; however, before this release you had to do your own stringification. Now you can add a placeholder and bind just about any spatial object you can think of (CRS included!). Let us know if we missed your favourite one!
Ever since reading Chris Holmes' fantastic GeoParquet best practices guide, I've wanted to make that trivial to do with SedonaDB's Parquet writer. After this release...it is! Sort, compress, and reduce your row group size based on the results of any query all in one go!
We've always had a great Parquet writer; however, Parquet is new on the block and sometimes you just need a @shapefile (or GeoPackage, or FlatGeoBuf, or something else!). This was always possible with SedonaDB and pyogrio's Arrow integration but in 0.3.0 we gave it some nice defaults and made it easy to do.
We also added a lot of functions (with full 4D and geometry type support and @postgis integration tests, as usual!)
#rstats users will be pleased to know that you can now read anything sf can piped directly into SedonaDB via @gdal's Arrow integration. This makes the SedonaDB R package considerably more useful!
Finally, we added the beginnings of an #rstats DataFrame API that can be used to implement a dplyr backend. This is my favourite feature of SedonaDB 0.3.0 because I love R, I love dplyr, and because I never properly learned SQL 😬
Check all this out and more in the release post! https://sedona.apache.org/latest/blog/2026/03/01/sedonadb-030-release/
SedonaDB 0.3.0 Release - Apache Sedona

Apache Sedona is a cluster computing system for processing large-scale spatial data. Sedona extends existing cluster computing systems, such as Apache Spark, Apache Flink, and Snowflake, 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.

@paleolimbot "sometimes"? 😯