Skip to content

SedonaDB 0.4.0

Latest

Choose a tag to compare

What's Changed

  • feat(c/sedona-gdal): add crate with dynamically loaded GDAL bindings by @Kontinuation in #681
  • fix(python/sedonadb): support DuckDB 1.5 spatial tests by @Kontinuation in #700
  • feat(rust/sedona-raster-functions): add RS_Contains, RS_Intersects, RS_Within UDFs by @Kontinuation in #615
  • chore: Bump versions for 0.4.0dev by @paleolimbot in #694
  • chore(deps): bump geos from 11.0.1 to 11.1.1 by @dependabot[bot] in #692
  • refactor(c/sedona-s2geography): Move s2geography UDFs to extension ABI by @paleolimbot in #683
  • chore(deps): bump quinn-proto from 0.11.13 to 0.11.14 by @dependabot[bot] in #706
  • refactor(rust/sedona-schema): centralize SedonaType CRS helpers by @Kontinuation in #705
  • feat(sedona-gdal): add foundational wrapper utilities by @Kontinuation in #696
  • fix(rust-docs): remove norun/ignore markers by @Mayankaggarwal8055 in #710
  • feat(rust/sedona-spatial-join) Making SpatialIndex a trait by @pwrliang in #645
  • chore(deps): bump clap from 4.5.54 to 4.5.60 by @dependabot[bot] in #711
  • feat(sedona-gdal): add geometry and spatial ref primitives by @Kontinuation in #695
  • docs: Add PyPI download statistics badges to README and docs homepage by @jiayuasu in #723
  • docs: Remove badges from docs homepage due to Apache CSP restrictions by @jiayuasu in #724
  • feat(c/libgpuspatial): Upgrade RAPIDS RMM to 25.12 by @pwrliang in #718
  • chore(deps): bump lz4_flex from 0.12.0 to 0.12.1 by @dependabot[bot] in #713
  • chore(ci): Add round-robin reviewer auto-assignment by @jiayuasu in #720
  • feat(c/libgpuspatial): Fix synchronization bugs and improve logging by @pwrliang in #721
  • feat(c/sedona-libgpuspatial): Improve building robustness by @pwrliang in #719
  • feat(c/libgpuspatial): Change the interface of SpatialRefiner by @pwrliang in #717
  • Add ST_Relate implementation using GEOS by @Mehak3010 in #691
  • perf(rust/sedona-spatial-join): Use row count first to decide join order by @2010YOUY01 in #725
  • chore(deps): bump tar from 0.4.44 to 0.4.45 by @dependabot[bot] in #726
  • chore(deps): bump rustls-webpki from 0.103.8 to 0.103.10 by @dependabot[bot] in #727
  • chore(deps): bump actions/github-script from 7 to 8 by @dependabot[bot] in #728
  • chore(deps): bump actions/upload-artifact from 4 to 7 by @dependabot[bot] in #729
  • chore(deps): bump actions/checkout from 4 to 6 by @dependabot[bot] in #730
  • chore(deps): bump clap from 4.5.60 to 4.6.0 by @dependabot[bot] in #731
  • feat(sedona-gdal): add dataset and vector/raster wrappers by @Kontinuation in #699
  • feat(rust/sedona-spatial-join): Add config to disable spatial join reordering by @2010YOUY01 in #733
  • fix: Ensure GPKG metadata consistency in test for GDAL 3.10+ by @Kontinuation in #740
  • feat(sedona-gdal): add raster operations and vrt support by @Kontinuation in #698
  • refactor(rust/sedona-spatial-join): Allow SpatialIndexBuilder and EvaluatedGeometryArray to be configurable by @paleolimbot in #737
  • test(rust/sedona-raster-functions): Add multi-band regression tests for RS_* raster functions by @james-willis in #747
  • chore(deps): bump fastrand from 2.3.0 to 2.4.0 by @dependabot[bot] in #755
  • chore(deps): bump tokio from 1.49.0 to 1.51.0 by @dependabot[bot] in #754
  • chore(deps): bump serde_with from 1.14.0 to 3.18.0 by @dependabot[bot] in #712
  • refactor(rust/sedona-query-planner): Move query planner and utilities to dedicated crate by @paleolimbot in #735
  • feat: add ST_Relate(geometry, geometry, text) boolean variant by @Mehak3010 in #741
  • feat(sedona-gdal): add convenience facade and mem builder by @Kontinuation in #697
  • chore(deps): bump actions/github-script from 8 to 9 by @dependabot[bot] in #757
  • chore(deps): bump the savvy group with 2 updates by @dependabot[bot] in #758
  • fix(docs): Fix formatting issues in geopandas-interop.md by @tlblessing in #760
  • chore(deps): bump rand from 0.10.0 to 0.10.1 by @dependabot[bot] in #761
  • Refine documentation on array methods and views by @tlblessing in #762
  • chore(deps): bump geojson from 0.24.2 to 1.0.0 by @dependabot[bot] in #732
  • feat(rust/sedona-spatial-join): Integrate libgpuspatial into sedona-spatial-join by @pwrliang in #722
  • chore(r/sedonadb): Ignore gpu crate when building R tarball by @paleolimbot in #764
  • feat(sedona-spatial-join): Fix for the customized join provider that may not take effective by @pwrliang in #766
  • feat(c/sedona-libgpuspatial): Upgrade RMM to 26.04.00 by @pwrliang in #767
  • chore(python/sedonadb): Add geography integration test framework by @paleolimbot in #756
  • fix(ci): Fix libgpuspatial version spec for wheels workflow by @paleolimbot in #769
  • chore(ci): Provide valid location for bigquery cache for wheel tests by @paleolimbot in #770
  • feat(python/sedonadb): Enable GPU feature in python package and add spatial join tests by @pwrliang in #768
  • feat(python/sedonadb): add Python GDAL configuration API by @Kontinuation in #689
  • docs: Add release notes for SedonaDB 0.1.0, 0.2.0, and 0.3.0 by @jiayuasu in #771
  • docs: add new GPU acceleration guide for spatial joins by @pwrliang in #774
  • chore(c/sedona-s2geography): Update s2geography submodule by @paleolimbot in #708
  • feat(python/sedonadb): Support specifying layer name and accessing sub-paths inside archives when working with pyogrio sources. by @pratheekrebala in #778
  • fix(rust/sedona-spatial-join): Implement EvaluatedGeometryArray::concat by @pwrliang in #784
  • chore(deps): bump rustls-webpki from 0.103.10 to 0.103.13 by @dependabot[bot] in #785
  • feat(rust/sedona-spatial-join-geography): Implement spatial join for geography type by @paleolimbot in #775
  • chore(deps): bump lru from 0.16.3 to 0.17.0 by @dependabot[bot] in #794
  • chore(deps): bump tokio from 1.51.1 to 1.52.1 by @dependabot[bot] in #795
  • chore(deps): bump rayon from 1.11.0 to 1.12.0 by @dependabot[bot] in #796
  • fix(ci): Fix Windows build path limits and unify rust-cache configuration by @pwrliang in #788
  • docs: Add conda installation method to docs by @p-vdp in #786
  • chore(deps): bump the adbc group with 2 updates by @dependabot[bot] in #793
  • feat(r/sedonadb): Add join expression evaluation by @paleolimbot in #781
  • chore(deps): bump i_overlay from 4.0.6 to 6.0.0 by @dependabot[bot] in #808
  • chore(deps): bump lru from 0.17.0 to 0.18.0 by @dependabot[bot] in #809
  • chore(deps): bump serde_with from 3.18.0 to 3.19.0 by @dependabot[bot] in #810
  • feat(sedona-raster-gdal) add GDAL foundation library for supporting GDAL-based RS functions by @Kontinuation in #787
  • feat(c/sedona-geos): Adds ST_Normalize(geometry) in c/sedona-geos using GEOS by @oglego in #802
  • chore(deps): bump the datafusion-arrow-parquet group across 1 directory with 22 updates by @dependabot[bot] in #797
  • feat(raster-gdal): add parse_outdb_source helper for the GDAL format driver by @james-willis in #812
  • refactor(rust/sedona-spatial-join): Support wraparound rectangles in EvaluatedGeometryArray by @paleolimbot in #799
  • feat(rust/sedona-raster-gdal,c/sedona-gdal): Add in-db GDAL raster loading functions by @Kontinuation in #811
  • feat(python/sedonadb): add Expr foundation by @jiayuasu in #807
  • feat(r/sedonadb): Add spatial join syntax and join type helpers by @paleolimbot in #814
  • feat(rust/sedona-geoparquet): Add GeoParquet 2.0/Parquet-native geometry and geography support to Parquet writer by @paleolimbot in #805
  • feat(python/sedonadb): add Expr operator overloads by @jiayuasu in #823
  • chore(deps): bump sysinfo from 0.38.3 to 0.39.0 by @dependabot[bot] in #830
  • chore(deps): bump serde_with from 3.19.0 to 3.20.0 by @dependabot[bot] in #828
  • fix(rust/sedona-pointcloud): projection regression by @b4l in #825
  • feat(rust/sedona-expr): Add pruning capability for geography type by @paleolimbot in #806
  • feat(python/sedonadb): add DataFrame.select by @jiayuasu in #832
  • chore(ci): Port distance and predicate geography tests from s2geography and run them against BigQuery and PostGIS where possible by @paleolimbot in #816
  • ci(r): pre-install nightly Rust + rust-src on macos to defuse #837 by @james-willis in #838
  • fix(ci): Update Python integration tests to pass on all platforms by @paleolimbot in #839
  • fix(rust/sedona): clippy lint for no default features by @b4l in #840
  • feat: N-dimensional raster type extension (Phase 1) by @james-willis in #749
  • fix(sedona-geoparquet): cache metadata in inner ParquetOpener by @prantogg in #843
  • feat(python/sedonadb): add DataFrame.filter / DataFrame.where by @jiayuasu in #835
  • ci: disable rust-cache cache-bin on macOS, add rustup-init guard (#837) by @james-willis in #841
  • feat(python/sedonadb): add DataFrame getitem by @jiayuasu in #846
  • feat(rust/sedona-functions): Add geography and CRS propagation to ST_Dump by @paleolimbot in #847
  • feat(python/sedonadb): restrict DataFrame getitem to single-column lookup by @jiayuasu in #852
  • docs: update PyPI download badge in README by @jiayuasu in #857
  • feat(rust/sedona-functions,c/sedona-geos): Implement geography kernels for structural transformations and accessors by @paleolimbot in #844
  • feat(c/sedona-s2geography): Add ST_(X|Y)(Min|Max), ST_Envelope, ST_Envelope_Agg, and ST_Analyze_Agg implementations for geography by @paleolimbot in #850
  • feat(rust/sedona-functions,c/sedona-proj): Support geography in CRS/SRID functions by @paleolimbot in #848
  • Document ST_AsBinary storage simplification by @camden-lowrance in #868
  • feat(raster-zarr): sedona-raster-zarr crate + sedona-zarr plugin by @james-willis in #858
  • feat(python/sedonadb): add DataFrame.sort with composable SortExpr by @jiayuasu in #859
  • feat(r/sedonafns): Add generated Sedona documentation as an R package by @paleolimbot in #851
  • chore(deps): bump rstar from 0.12.2 to 0.13.0 by @dependabot[bot] in #877
  • chore(deps): bump glam from 0.32.0 to 0.33.0 by @dependabot[bot] in #876
  • feat(python/sedonadb): add DataFrame.drop by @jiayuasu in #871
  • Expose simplified Arrow stream export by @camden-lowrance in #873
  • chore(rust): Update pretty_env_logger to 0.5 by @paleolimbot in #880
  • fix(rust/sedona-geo): support array distances in ST_Buffer by @camden-lowrance in #881
  • fix(rust/sedona-spatial-join): Improve spatial join evaluated batch memory accounting by @camden-lowrance in #884
  • feat(rust/sedona-functions): Aded ST_LineSubstring function by @sapienza88 in #777
  • feat(docs): Add scalar function style guide by @camden-lowrance in #883
  • feat(python/sedonadb): Expose scalar and aggregate udfs from context registry by @paleolimbot in #885
  • chore(deps): bump tar from 0.4.45 to 0.4.46 by @dependabot[bot] in #889
  • feat(c/sedona-s2geography,rust/sedona-functions): Add ST_Segmentize, ST_TessellateGeom, ST_TessellateGeog by @paleolimbot in #867
  • chore(docker): Add Dockerfile for building GPU-enabled sedonadb image by @pwrliang in #872
  • feat(python/sedonadb): add DataFrame.agg for global aggregation by @jiayuasu in #887
  • feat(python/sedonadb): add DataFrame.group_by + GroupedDataFrame.agg by @jiayuasu in #893
  • feat(rust/sedona-raster-gdal): add RS_FromPath by @Kontinuation in #831
  • feat(docs/reference/sql): Ensure geography functions are documented by @paleolimbot in #895
  • feat(sedonadb/python): Add informative error for len() of a DataFrame by @paleolimbot in #902
  • feat(docs): Add Postgres shell instructions to contributors guide by @paleolimbot in #905
  • chore(r/sedonafns): Install build requirements when building source tarball on r-universe by @paleolimbot in #907
  • fix(c/sedona-proj): Allow bound parameter for CRS argument of ST_Transform by @paleolimbot in #904
  • feat(rust/sedona-raster-zarr): cloud storage backends (s3, gcs, azure, http) via object_store by @james-willis in #888
  • feat(raster): accept lat/lon and latitude/longitude spatial dim names by @james-willis in #910
  • feat(python/sedonadb): Make expressions context-aware for piped functions by @paleolimbot in #901
  • fix(c/sedona-gdal): replace gpkg temporary datasets with flatgeobuf in sedona-gdal tests by @Kontinuation in #911
  • fix(rust/sedona-raster-functions): Update creation of a repeated string view with more efficient method by @paleolimbot in #903
  • perf(rust/sedona-functions): Improve performance of ST_Reverse() by @paleolimbot in #912
  • feat(rust): Lazy Raster Loading Support for Zarr and GDAL by @james-willis in #886
  • chore(docker): support multi-arch builds for the GPU image and add a publish script by @jiayuasu in #909
  • feat(rust/sedona-geoparquet,rust/sedona-datasource)!: Add support for partition columns and discovery by @paleolimbot in #906
  • chore(deps): bump serde_with from 3.20.0 to 3.21.0 by @dependabot[bot] in #922
  • chore(deps): bump i_overlay from 6.0.0 to 7.0.0 by @dependabot[bot] in #923
  • feat(python/sedonadb): add DataFrame.join by @jiayuasu in #908
  • refactor(raster): drop data()/contiguous_data() from Raster interface by @james-willis in #915
  • feat(rust/sedona-raster,rust/sedona-raster-functions): zero-copy band-data in RS_EnsureLoaded by @james-willis in #917
  • fix(rust/sedona-raster): classify 0-element bands as InDb; make is_indb required by @james-willis in #929
  • feat(rust/sedona-raster-gdal): pass N-D rasters through the GDAL bridge via plane stacking by @james-willis in #928
  • refactor(rust/sedona-raster,rust/sedona-schema): source_shape i64 end-to-end (in-memory + Arrow column) by @james-willis in #927
  • feat(python/sedonadb): add DataFrame.cross_join by @jiayuasu in #925
  • refactor(rust/sedona-raster-functions): width/height and RS_Width/RS_Height return i64 by @james-willis in #932
  • feat(rust/sedona-raster): add ViewEntries view-spec module by @james-willis in #934
  • chore(ci): build, test, and publish sedonadb-zarr wheels by @james-willis in #936
  • feat(python/sedonadb): add Python aggregate UDF decorator by @jiayuasu in #937
  • feat(sedonadb/raster): Add zero-copy raster access from pyarrow arrays by @paleolimbot in #942
  • feat(rust/sedona-raster-functions): add RS_IsEmpty by @james-willis in #944
  • fix(rust/sedona-raster-zarr): discover child arrays via consolidated metadata by @james-willis in #943
  • refactor(python/sedonadb)!: Refactor registration of extension components by @paleolimbot in #940
  • chore: add raster label to GitHub repository topics by @james-willis in #948
  • refactor(r/sedonafns): Ensure generated function names are snake case by @paleolimbot in #933
  • feat(r/sdplyr): Add sdplyr package (dplyr method implementations) by @paleolimbot in #931
  • chore(examples): pin transitive deps via committed Cargo.lock by @james-willis in #951
  • fix(rust/sedona-raster-zarr): parse spatial:transform as affine order, add proj:code and spatial:dimensions by @james-willis in #950
  • chore(deps): bump rustyline from 15.0.0 to 18.0.0 by @dependabot[bot] in #959
  • feat(python/sedonadb-expr): Add Python documentation sources based on SQL documentation by @paleolimbot in #862
  • feat(python/sedonadb): add DataFrame.distinct and distinct_on by @jiayuasu in #961
  • feat(rust/sedona-raster-zarr): derive georeferencing from coordinate arrays by @james-willis in #954
  • feat(rust/sedona-testing): add ergonomic raster function test harness by @james-willis in #945
  • chore(rust/sedona-raster): Ensure creating a RasterStructArray does not panic by @paleolimbot in #967
  • feat(sedonadb/python): Add lazy raster creator for testing by @paleolimbot in #966
  • fix(rust): clean up CRS string handling (preserve definitions, consolidate equality/SRID) by @james-willis in #962
  • refactor(python/sedonadb): Extract common read functionality into read accessor by @paleolimbot in #968
  • feat(rust/sedona-raster-gdal): add RS_MetaData by @Kontinuation in #833
  • chore(rust/sedona-raster-gdal): Fix outdated RasterStructArray::new() call by @paleolimbot in #971
  • fix(rust/sedona-query-planner): Ensure user provided RS_EnsureLoaded call preserves metadata by @paleolimbot in #969
  • fix(rust/sedona-query-planner): recognize wrapped RS_EnsureLoaded in idempotency guard by @james-willis in #976
  • feat(rust/sedona,python/sedonadb): Support nested expressions in Python and SQL by @paleolimbot in #973
  • feat(rust/sedona-query-planner): skip RS_EnsureLoaded on args returning loaded bytes by @james-willis in #979
  • fix(rust/sedona-query-planner): preserve column name when wrapping raster args by @james-willis in #978
  • feat: add N-D raster dimension query and manipulation functions by @james-willis in #750
  • feat(r/sdplyr): Add filter translation by @paleolimbot in #972
  • feat(rust/sedona-schema): support WKT1/WKT2 CRS strings in deserialize_crs by @james-willis in #953
  • fix(python/sedonadb): Ensure PROJ and GDAL are detected on Windows + Conda by @paleolimbot in #980
  • feat(python/sedonadb): Enable zarr read via sedonadb-zarr by @paleolimbot in #916
  • chore(python/sedonadb): Fix WKT string for older proj versions by @paleolimbot in #982
  • fix(c/sedona-gdal): resolve MEMDataset::Create on GDAL 3.13 + use MEMCreate C-API when available by @james-willis in #963
  • chore(python/sedona-expr): Ensure sedonadb-expr is packaged by @paleolimbot in #970
  • feat(rust/sedona-raster-zarr): resolve CRS from CF/rioxarray conventions by @james-willis in #985
  • feat(rust/sedona-raster-zarr): enable the zlib codec by @james-willis in #987
  • chore: Ensure workspace can be built + verified under GDAL 3.13 by @paleolimbot in #984
  • docs(examples): add 'Working with Zarr and NDArray data in SedonaDB' tutorial by @james-willis in #938

New Contributors

Full Changelog: apache-sedona-db-0.4.0.dev...apache-sedona-db-0.4.0