Changelog¶
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased]¶
[1.1.0-beta] - 2026-03-05¶
Minor version bump for ongoing beta improvements.
[1.0.0-beta] - 2026-02-10¶
This is the first beta release of geoparquet-io 1.0, featuring major new spatial indexing systems, auto-resolution partitioning, comprehensive --overwrite support, and significant performance improvements.
Added¶
New Spatial Indexing Systems¶
- S2 support: Add S2 cell indexing with
gpio add s2andgpio partition s2 - Full S2 geometry library integration for spherical indexing
- Auto-resolution support for optimal cell sizing
- A5Geo support: Add A5 hexagonal indexing with
gpio add a5andgpio partition a5 - Efficient pentagonal/hexagonal global grid system
- Auto-resolution partitioning support
Auto-Resolution Partitioning¶
- Automatic resolution selection for H3, S2, A5, and quadkey partitioning
- Analyzes data extent and density to choose optimal resolution
- Use
--resolution autoor omit resolution for automatic selection - Verbose output shows resolution selection reasoning
Sub-Partitioning for Large Files¶
--min-sizeoption to find and re-partition oversized partition files--in-placeoption for in-place sub-partitioning- Directory input support for batch sub-partitioning operations
- New
find_large_files()andsub_partition_directory()Python API functions
Admin Dataset Caching¶
--cache/--no-cacheoptions forgpio add admin-divisions- Automatic caching of downloaded admin boundary datasets
--prefixoption for custom column naming in admin-divisions
CLI Improvements¶
--show-sqloption on all DuckDB-based commands for query transparency--verboseoption added to inspect subcommands and publish upload- Progress reporting for add h3, add quadkey, and sort column commands
--row-group-sizeand--row-group-size-mboptions for convert command--overwriteoption added to all extract, sort, and add commands- Shell completion documentation for bash, zsh, and fish
Performance & Benchmarking¶
- Comprehensive benchmark suite for performance testing
- Persistent baseline storage and trend analysis for releases
- Profiling integration with benchmark suite
Spatial Order Detection¶
bbox-statsbased spatial order checking- Auto-detection of spatial clustering in check command
- Bbox overlap detection for order validation
Changed¶
- BREAKING: Renamed
--profileto--aws-profilefor clarity - Only affects AWS S3 operations (convert, extract, upload commands)
-
Local operations no longer have this flag
-
BREAKING: Removed
--profileflag from local commands - Affects: add, partition, sort, check, inspect, publish stac
-
Follows Arrow-based pipeline: extract/convert → transform locally → upload
-
Improved inspect performance via DuckDB connection reuse
- Set
arrow_large_buffer_size=trueby default for large dataset support - Better handling of larger files with faster writes
Removed¶
- BREAKING: Removed
gpio inspect legacycommand - Use subcommands:
gpio inspect head/tail/stats/meta - Removed deprecated CLI commands and guide documentation
Fixed¶
- Fix CRS export for GDAL formats (fixes #189, #190)
- Projected CRS now correctly roundtrips through FlatGeobuf and GeoPackage
- Fix crash on non-numeric CRS codes like IGNF:LAMB93 (#193)
- Fix inspect metadata performance regression (#232)
- Fix CRS extraction when geoarrow-pyarrow is imported
- Fix Windows file locking errors in tests
- Fix DuckDB connection leak in convert_to_geoparquet
- Improved error messages for common user mistakes (#140)
- Invalid Parquet files now show helpful hints
Internal¶
- Reduced complexity in 6 functions from Grade E/D to Grade C
- Comprehensive test coverage improvements
- Plugin system documentation
- Dependency updates (actions/checkout v6, astral-sh/setup-uv v7, etc.)