Skip to content

SedonaDB 0.3.0

Latest

Choose a tag to compare

@github-actions github-actions released this 06 Mar 00:10
· 120 commits to main since this release

What's Changed

  • docs: Link doc to raw GitHub assets by @b4l in #420
  • docs(r): update installation command by @eitsupi in #421
  • chore(deps): bump savvy-* to v0.9 by @yutannihilation in #426
  • chore: Update versions on main for 0.3.0 by @paleolimbot in #411
  • Add RS_WorldToRasterCoord variants by @jesspav in #416
  • feat(r/sedonadb): Implement dplyr::select() for sedonadb_dataframe by @paleolimbot in #419
  • feat(c/sedona-libgpuspatial): Add GPU-accelerated spatial join library by @pwrliang in #310
  • feat(c/sedona-extension): Move FFI scalar kernel definitions to c/sedona-extension and write them in C by @paleolimbot in #407
  • chore: Use std::hint::black_box() to avoid deprecated criterion usage by @paleolimbot in #432
  • chore(deps): Remove one more criterion::black_box() and update criterion by @paleolimbot in #433
  • feat(rust/sedona-spatial-join): Support sequential spatial index building option by @zhangfengcdt in #362
  • Add RS_Rotation by @jesspav in #418
  • chore(dev/release) Add publish scripts to crate.io and update rust dependency by @zhangfengcdt in #413
  • chore(dev/release): Update release instructions following 0.2.0 release by @paleolimbot in #429
  • fix: Fix bounding_rect method to return None instead of (zero, zero) for empty point by @Kontinuation in #438
  • chore: Make KnnComponents field optional in SpatialIndex by @Kontinuation in #437
  • chore(docs/reference/sql): Use Quarto to render SQL docs pages by @paleolimbot in #434
  • feat(c/sedona-geos): ST_ConcaveHull Implementation by @Abeeujah in #431
  • chore(docs): Add missing dependency to docs build and ensure build fails if quarto render fails by @paleolimbot in #445
  • feat(rust/sedona-raster-functions): Add RS_Envelope by @jesspav in #444
  • chore(rust/sedona-functions): Fix ST_LineInterpolatePoint and ST_LineLocatePoint by @yutannihilation in #448
  • docs: add iceberg page by @MrPowers in #417
  • feat(rust/sedona-functions): Add SRID to ST_GeomFromWKT by @yutannihilation in #449
  • chore(deps): bump actions/checkout from 4 to 6 by @dependabot[bot] in #450
  • chore(deps): bump actions/cache from 4 to 5 by @dependabot[bot] in #451
  • chore(deps): bump actions/upload-artifact from 5 to 6 by @dependabot[bot] in #452
  • chore(deps): bump actions/download-artifact from 6 to 7 by @dependabot[bot] in #453
  • chore(deps): bump bindgen from 0.71.1 to 0.72.1 by @dependabot[bot] in #454
  • chore(deps): bump which from 6.0.3 to 8.0.0 by @dependabot[bot] in #456
  • perf: Implement (2x) faster ST_Buffer kernel using geo by @petern48 in #233
  • docs: add separate pages for ST_Area() and ST_AsBinary() by @MrPowers in #457
  • perf(rust/sedona-schema): Improve performance of deserialize_crs() by @jesspav in #446
  • feat(rust/sedona-spatial-join): Add a bounding box sampler for building spatial partitioners or other purposes by @Kontinuation in #442
  • feat(rust/sedona-spatial-join): Add spatial partitioners for partitioning spatially joined data by partitioning grids by @Kontinuation in #443
  • chore(c/sedona-libgpuspatial): Fix typo in relate.cuh comment (#463) by @Mayankaggarwal8055 in #463
  • feat(rust/sedona-raster-functions): Add RS_SRID and RS_CRS by @jesspav in #430
  • feat(rust/sedona-geo): ST_ConcaveHull Geo Implementation by @Abeeujah in #462
  • feat(sedona-expr,sedona-schema): Implement item-level CRS by @paleolimbot in #410
  • feat(rust/sedona-geo): Add ST_AsGeoJSON by @prantogg in #469
  • fix(rust/sedona-functions): Let ST_Collect_Agg() on a Geography return a Geography by @yutannihilation in #467
  • chore(rust/sedona-functions): Make ST_Transform not accept geography by @yutannihilation in #478
  • chore: Update to Arrow 57, DataFusion 50 by @paleolimbot in #466
  • perf: Implement method to directly write GeosGeometry into buffer and use on st_unaryunion + st_buffer by @petern48 in #476
  • feat(r/sedonadb): Translate R expressions to DataFusion logical Expr by @paleolimbot in #468
  • fix: require comfy-table 7.2+ for set_truncation_indicator method by @zhangfengcdt in #486
  • chore(r/sedonadb): Bump savvy to v0.9.2 by @yutannihilation in #494
  • perf: Write wkb directly from geos for st_boundary, centroid, concavehull, convexhull, simplify, snap by @petern48 in #493
  • chore(r): Add air format + lintr checks to R package by @paleolimbot in #495
  • chore(deps): bump lru from 0.12.5 to 0.16.3 by @dependabot[bot] in #496
  • chore(ci): Add MacOS Intel wheel build by @paleolimbot in #497
  • chore(ci): Add intel MacOS wheels to gemfury upload by @paleolimbot in #500
  • feat(rust/sedona): Add Azure Blob Storage support for GeoParquet by @isaaccorley in #479
  • feat(rust/sedona-functions,rust/sedona-geo): Add item CRS implementations for existing scalar kernels that can be trivially wrapped by @paleolimbot in #492
  • feat(rust/sedona-functions): Implement ST_GeomFromEWKT by @yutannihilation in #498
  • feat(rust/sedona-geos): Implement ST_LineMerge() by @yutannihilation in #503
  • perf: Use write_geos_geometry() for makevalid, minimumclearance_line, polygonize, simplifypreservetopology, and overlays by @petern48 in #502
  • feat(rust/sedona-functions): Implement ST_Affine(), ST_Rotate(), and ST_Scale() by @yutannihilation in #504
  • fix(rust/sedona-spatial-join): Fix several bugs related to KNN join by @Kontinuation in #508
  • chore: Update ADBC versions and group datafusion- and adbc-aligned dependencies by @paleolimbot in #512
  • feat(c/sedona-geos): Implement item crs support for GEOS-based kernels by @paleolimbot in #509
  • fix(rust/sedona-spatial-join): Fix KDB partitioner to produce no less than specified number of partitions by @Kontinuation in #513
  • chore(rust/sedona-spatial-join): Support right mark joins and enabled tests for all kinds of spatial joins by @Kontinuation in #514
  • chore(rust/sedona-spatial-join): More accurate batch in-memory size estimation by @Kontinuation in #515
  • feat(rust/sedona-expr): Add GroupsAccumulator to framework and implementation for ST_Envelope_Agg by @paleolimbot in #510
  • chore(rust/sedona-spatial-join): Evaluate spatial predicate operands in EvaluateOperandBatchStream by @Kontinuation in #521
  • fix(rust/sedona): Strip schema metadata when input uses RecordBatchReaderProvider by @paleolimbot in #517
  • feat(rust/sedona-spatial-join) Spatial index supports async batch query and parallel refinement by @Kontinuation in #523
  • feat(rust/sedona-spatial-join) Spill EvaluatedBatch and add external evaluated batch stream by @Kontinuation in #522
  • feat(rust/sedona-functions): make ST_Translate accept deltaZ arg by @yutannihilation in #524
  • chore(rust/sedona-spatial-join): Split large join result batches into smaller ones by @Kontinuation in #525
  • feat(rust/sedona-expr): Implement item crs wrapper around aggregate functions by @paleolimbot in #520
  • feat(rust/sedona-spatial-join): Add a repartitioner to write spatially repartitioned data to spill files by @Kontinuation in #527
  • feat(rust/sedona-functions): Implement ST_GeomFromWKBUnchecked() by @2010YOUY01 in #533
  • fix(sedona-raster-functions): Handle array inputs in coordinate conversion functions by @Kontinuation in #532
  • feat(c/sedona-tg): Implement item-crs wrappers for tg predicate kernels by @paleolimbot in #528
  • fix(python/sedonadb): Tweaks to support pandas>=3.0 by @paleolimbot in #538
  • feat(c/sedona-proj): Implement item crs support for ST_Transform by @paleolimbot in #531
  • Update .asf.yaml collaborators list by @jbampton in #541
  • chore(rust/sedona-spatial-join): Revamp memory reservation pattern for spatial join by @Kontinuation in #534
  • chore(rust/sedona-geoparquet): Fix clippy errors by @paleolimbot in #540
  • feat(rust/sedona): Improve sd_random_geometry() and expose as a Python function by @paleolimbot in #97
  • feat(rust/sedona-functions): Implement ST_AsEWKB with item CRS support by @paleolimbot in #535
  • feat(r/sedonadb): Add basic DataFrame API with sd_select(), sd_transmute(), and sd_filter() by @paleolimbot in #499
  • feat(rust/sedona-proj): Let ST_Transform() handle 3D coordinates by @yutannihilation in #544
  • chore(deps): bump glam from 0.30.10 to 0.31.0 by @dependabot[bot] in #550
  • chore(rust/sedona-spatial-join): Integrate bounding box sampler and spilling support into build side collector by @Kontinuation in #542
  • docs: Remove unnecessary ST_SRID in example queries by @yutannihilation in #545
  • feat(rust/sedona-spatial-join) Add partitioned index provider by @Kontinuation in #555
  • feat(rust/sedona-expr): Pass ConfigOptions into UDFs by @Kontinuation in #557
  • feat(rust/sedona-functions): Add ST_GeomFromEWKB and support item crs inputs to ST_SetSRID by @paleolimbot in #547
  • fix(python/sedonadb): Ensure that Python UDFs executing with >1 batch do not cause deadlock by @paleolimbot in #558
  • chore: Remove use of DataFusionError::Internal for sedonadb internal errors by @paleolimbot in #564
  • fix(rust/sedona-raster-functions): RasterExecutor always call the closure only once for scalar raster input by @Kontinuation in #559
  • chore(deps): bump bytemuck from 1.24.0 to 1.25.0 by @dependabot[bot] in #569
  • feat(rust/sedona-geoparquet): Support geometry_columns option in read_parquet(..) to mark additional geometry columns by @2010YOUY01 in #560
  • feat(rust/sedona-spatial-join): Support spatial partitioned spatial join for non-knn predicates by @Kontinuation in #563
  • chore(rust/sedona-geometry): Add wkb_rect and clean up tests defining their own rect_wkb functions by @Kontinuation in #572
  • feat(rust/sedona-geoparquet): Add read support for Geometry/Geography Parquet types by @paleolimbot in #561
  • chore(deps): bump bytes from 1.11.0 to 1.11.1 by @dependabot[bot] in #571
  • feat(rust/sedona-geoparquet): prettier spatial pruning metrics display by @2010YOUY01 in #576
  • chore(deps): bump time from 0.3.44 to 0.3.47 by @dependabot[bot] in #577
  • fix: no-default-features by @b4l in #579
  • fix(docs): Sync the main Sedona website design with sedona-db by @jiayuasu in #584
  • feat(c/sedona-sedona-libgpuspatial): Refactoring GPU Spatial Join Library by @pwrliang in #556
  • feat(rust/sedona-functions): Add item SRID support to geometry constructors by @paleolimbot in #574
  • fix(rust/sedona): Fix panic when displaying very long content by @paleolimbot in #565
  • feat(rust/sedona-geoparquet): Support WKB validation in read_parquet() by @2010YOUY01 in #578
  • chore(deps): bump rand from 0.9.2 to 0.10.0 by @dependabot[bot] in #582
  • feat(rust/sedona-spatial-join): Support partitioned KNN join to handle larger than memory object side by @Kontinuation in #573
  • feat(python/sedonadb): Implement parameter binding by @paleolimbot in #575
  • feat(rust/sedona-pointcloud) Initial LAZ format support by @b4l in #471
  • Docs: add PostGIS integration guide with GeoPandas and ADBC examples by @Mehak3010 in #543
  • chore(rust/sedona-spatial-join): Make partitioner not sync, create dedicated partitioner for each task by @Kontinuation in #592
  • refactor(rust/sedona-spatial-join): Unify execute and execute_knn, move end-to-end tests in exec.rs to tests directory by @Kontinuation in #593
  • refactor(rust/sedona-raster): Pre-downcast band metadata arrays in RasterStructArray by @Kontinuation in #588
  • fix(raster): RS_Envelope returns axis-aligned bounding box for skewed rasters by @Kontinuation in #594
  • chore(examples): Ensure examples work in all CI jobs by @paleolimbot in #596
  • chore(rust/sedona-spatial-join): use RTree partitioner for probe side when partition count > 48 by @Kontinuation in #598
  • feat(rust/sedona): Add SedonaFairSpillPool memory pool and CLI memory limit support by @Kontinuation in #599
  • feat(rust/sedona-schema): Add Int8, UInt64, Int64 band data types, don't panic in BandMetadataRef by @Kontinuation in #589
  • fix(rust/sedona-spatial-join) Reimplement planner for spatial join by @Kontinuation in #562
  • fix(python/sedonadb): Add pandas < 3.0 Series entry to SPECIAL_CASED_LITERALS by @Kontinuation in #609
  • refactor(rust/sedona-raster-functions): extract CachedCrsToSRIDMapping and simplify SRID/CRS logic by @Kontinuation in #590
  • feat(sedona-raster-functions): add RS_ConvexHull and item-level CRS to RS_Envelope by @Kontinuation in #597
  • feat(rust/sedona-functions): Implement ST_Force2D() and ST_Force3D() by @yutannihilation in #606
  • chore(docs/reference): Migrate sql.md to new functions format by @paleolimbot in #585
  • feat(rust/sedona-pointcloud): add laz chunk statistics by @b4l in #604
  • fix(rust/sedona): Fix false feature flag by @b4l in #618
  • feat(rust/sedona-geometry): Let CrsTransform handle M coordinate by @yutannihilation in #619
  • feat(rust/sedona-functions): Implement ST_Force3DM and ST_Force4D by @yutannihilation in #620
  • chore: Use mixed-line-ending pre-commit to enforce LF line ending by @yutannihilation in #621
  • feat(rust/sedona-spatial-join): Auto-repartition probe side for balancing spatial join workload by @Kontinuation in #610
  • feat(rust/sedona-raster-functions): add RS_NumBands function by @Kontinuation in #602
  • feat(rust/sedona-raster-functions): add RS_GeoReference function by @Kontinuation in #601
  • chore(deps): bump tempfile from 3.24.0 to 3.25.0 by @dependabot[bot] in #627
  • chore(deps): bump glam from 0.31.0 to 0.32.0 by @dependabot[bot] in #624
  • chore(deps): bump rand_distr from 0.5.1 to 0.6.0 by @dependabot[bot] in #626
  • chore(deps): bump float_next_after from 1.0.0 to 2.0.0 by @dependabot[bot] in #625
  • feat(rust/sedona-geoparquet): Ensure GeoParquet configuration options for read and write can be passed via SQL by @paleolimbot in #607
  • chore(docs/reference/sql): Migrate function documentation defined in Rust into Markdown by @paleolimbot in #616
  • fix(rust/sedona-functions): propagate NULL for scalar NULL SRID/CRS in ST_SetSRID/ST_SetCRS by @Kontinuation in #629
  • fix(rust/sedona-spatial-join): prevent filter pushdown past KNN joins by @Kontinuation in #611
  • feat(python/sedonadb): Expose memory pool and runtime configuration in Python bindings by @Kontinuation in #608
  • docs(sql): normalize reference descriptions to third-person singular verbs by @yutannihilation in #634
  • feat(rust/sedona-raster-functions): add RS_SetSRID/RS_SetCRS with batch-local cache refactoring by @Kontinuation in #630
  • chore: Use released geo-index by @paleolimbot in #631
  • chore(rust): Remove documentation field from SedonaScalarUDF and SedonaAggregateUDF by @yutannihilation in #633
  • fix(rust/sedona-raster-functions): remove documentation field from RS_SetSRID/RS_SetCRS by @Kontinuation in #637
  • feat(rust/sedona-functions): Add raster display support to SD_Format by @Kontinuation in #591
  • feat(c/sedona-libgpuspatial): Add Rust Wrapper by @pwrliang in #586
  • feat(rust/sedona-pointcloud) add LAS support by @b4l in #628
  • fix(c/sedona-geos): Support export of geometries with M values from GEOS by @paleolimbot in #640
  • docs: replace barrier() with KNN join behavior documentation by @Kontinuation in #635
  • feat(rust/sedona-raster-functions): add RS_BandPath function by @Kontinuation in #603
  • chore: Keep builds passing after yanked 11.0.0 geos release by @paleolimbot in #644
  • chore: Use released georust/geos from crates.io by @paleolimbot in #649
  • feat(rust/sedona-spatial-join): Automatic query-side filter pushdown for KNN joins by @Kontinuation in #641
  • chore(ci): Validate the docs coverage on SQL functions by @yutannihilation in #652
  • feat(python/sedonadb): Write GDAL/OGR via pyogrio by @paleolimbot in #632
  • refactor(rust/sedona-functions): Remove stub functions by @paleolimbot in #638
  • feat(r/sedonadb): Improve DataFrame API for R bindings by @paleolimbot in #651
  • feat(rust/sedona-geoparquet): Ensure metadata cache is used in GeoParquet wrapper code by @paleolimbot in #646
  • feat(python/sedonadb): Add sort by geometry support in to_parquet() by @paleolimbot in #642
  • feat(rust/sedona-functions): Add sd_simplifystorage utility by @paleolimbot in #650
  • feat(r/sedonadb): Port Python configuration options changes to R by @paleolimbot in #658
  • feat(r/sedonadb): Add R bindings for parameterized queries by @paleolimbot in #662
  • fix(rust/sedona-functions): Ensure WkbView types can be aggregated using the groups accumulator for ST_Envelope_Agg by @paleolimbot in #656
  • feat(python/sedonadb): Handle crs-like objects in parameterized queries by @paleolimbot in #660
  • feat(rust/sedona-schema): Improve deserialization of authority/code CRSes by @paleolimbot in #666
  • feat(rust/sedona-functions): Simplify ST_KNN() call for most common case by @paleolimbot in #667
  • chore(docs): Update README connection syntax by @paleolimbot in #668
  • fix(rust/sedona-geoparquet): Ensure that GeoParquet files are always written with PROJJSON CRSes by @paleolimbot in #669
  • chore: Update geo-index to 0.3.4 by @paleolimbot in #661
  • feat(r/sedonadb): Implement GDAL read via sf/arrow in R bindings by @paleolimbot in #670
  • chore(dev/release): Ensure release verification passes by @paleolimbot in #671

New Contributors

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