v0.12.0
Breaking Changes
- Default coordinate order for plain bounding boxes is now EPSG:4326 native axis order: (latitude, longitude)
- Bounding boxes are returned as
[minlat, minlon, maxlat, maxlon]instead of[minlon, minlat, maxlon, maxlat] - GeoJSON output always uses
[longitude, latitude]coordinate order per RFC 7946 - Add
--legacyCLI flag andlegacy=TruePython API parameter to restore the previous[lon, lat]order for plain bounding boxes (does not affect GeoJSON output)
New Content Providers
- Add Senckenberg Biodiversity and Climate Research Centre data portal provider (#66)
- Support for CKAN-based repositories via new
CKANProviderbase class - Add BGR Geoportal content provider with ISO 19139 metadata extraction (#61)
New Features
- Add support for world files (
.wld,.jgw,.pgw,.tfw, etc.) (#36) - Add
--keep-filesoption to preserve downloaded files for debugging - Dynamically generated supported formats list
- Explicitly remove temp files on cleanup (#82)
Bug Fixes
- Skip layers with degenerate extent
[0,0,0,0]and emit a user-visible warning instead of silently including invalid coordinates - Fix resource leak for GeoPackage/SQLite-backed files (unclosed database connections)
Improvements
- Enable parallel test execution by default using
pytest-xdist(#38) - Refactor CRS extraction into shared utility function
- Harden CSV handler: force CSV GDAL driver to prevent misidentification, add extension-based pre-filtering, improve geometry column detection
- Optimize gazetteer queries to avoid duplicate API calls for closed polygon points
- Suppress noisy pandas date-parsing warnings during temporal extent detection
Install: pip install geoextent==0.12.0
Full changelog: https://nuest.github.io/geoextent/changelog.html