Releases: rasterio/rasterio
1.5.0
Dependencies:
- Minimum supported versions: Python 3.12+, GDAL 3.8+, & numpy 2+ (#3465, #3467, #3468)
- Vendor click-plugins (#3367)
Enhancements:
- Add float16 dtype (#3469)
- rasterio.cache: Add invalidate() and invalidate_all() for invalidation of responses in Rasterio's HTTP cache (#3276).
- rasterio.crs: The CRS class has a new, lazily computed, geodetic_crs property (#3218)
- rasterio.enum: Add Interleaving.tile (#3479)
- rasterio.features.shapes: float64 fully supported GDAL 3.12.1 (#3477)
- rasterio.features.shapes: Add uint32,uint64,int64 dtypes & warn for possible truncation (#3456)
- rasterio.plot.show: Add indexes & percent_range parameters to handle rgb image missing color interpretation & enable histogram stretching (#3171)
- rasterio.warp.reproject: Modify tolerance to be an argument in (#3325)
- Move project metadata to pyproject.toml (PEP 621) (#3430)
- Use Lapack solve to more accurately compute affine reverse transforms (#3315)
- rasterio.open: Add thread_safe parameter (#3496)
- rasterio.session: Add support for additional Azure credentials (#3482)
Bug fixes:
- Ensure dataset can be closed multiple times (#3480)
- Remove duplicate dataset cleanup (#3473, #3366)
- Use rasterio & numpy dtypes internally instead of strings (#3472)
- Use context manager for MemoryDataset (#3461)
- rasterio.warp: Don't fill masked output when reprojecting (#3471)
- rasterio.warp: Filter GDALCreateGenImgProjTransformer2 options (#3460)
- rasterio.show_versions: Use importlib.metadata.version (#3488)
- Static GDAL runtime version check (#3487)
- Use GDAL open flag constants (#3494)
- Documentation (#3459, #3458, #3455, #3346)
- Tests (#3429, #3502, #3501, #3498)
- Code linting (#3457)
Deprecations:
- rasterio.warp.transform_geom: Deprecate antimeridian_cutting & antimeridian_offset (#3474)
Packaging notes:
Full list of software versions
Contributors
- @a-gn
- @adamjstewart
- @groutr
- @jessjaco
- @mwtoews
- @normanb
- @omarkhan
- @rhugonnet
- @sebastic
- @sgillies
- @snowman2
- @w8sl
- @xinluo2018
If we missed anyone, please reach out!
Full Changelog: 1.4.4...1.5.0
1.5rc1
Second release candidate for version 1.5
High level overview:
- Requires Python >= 3.12, GDAL >= 3.8, and numpy >= 2.
- Improved compatibility with GDAL 3.11 & 3.12
- Supports more dtypes
- Invalidate cache methods
- Adds
CRS.geodetic_crs - More accurate reverse transforms
- Plot RGB images missing color interpretation
- Add thread safe read-only support
- Search for GDAL installation path on Windows
- Bug fixes 🐛
Changes since previous pre-release
- Drop click-plugins dependency from pyproject.toml & update doc link #3504
- CLN: Use _GDAL_AT_LEAST_3_11 from rasterio.env #3503
Detailed summary
Changes since previous pre-release: 1.5rc0...1.5rc1
Full Changelog: 1.4.4...1.5rc1
1.5rc0
First release candidate for version 1.5
High level overview:
- Requires Python >= 3.12, GDAL >= 3.8, and numpy >= 2.
- Improved compatibility with GDAL 3.11 & 3.12
- Supports more dtypes
- Invalidate cache methods
- Adds
CRS.geodetic_crs - More accurate reverse transforms
- Plot RGB images missing color interpretation
- Add thread safe read-only support
- Search for GDAL installation path on Windows
- Bug fixes 🐛
Changes since previous pre-release
- TST: skip test_memfile_thread_safe_option on Windows (#3501)
- Deploy only when all tests pass. Use jpeg-turbo (#3497)
- TST: Move platform specific skips to test code & re-enable tests (#3502)
- feat: add support for other Azure credentials (#3482)
- Enable tests on Windows runners (#3498)
- Search for GDAL installation path on Windows (#3498)
Detailed summary
Changes since previous pre-release: 1.5a1...1.5rc0
Full Changelog: 1.4.4...1.5rc0
1.5a1
Second pre-release for version 1.5
High level overview:
- Requires Python >= 3.12, GDAL >= 3.8, and numpy >= 2.
- Improved compatibility with GDAL 3.11 & 3.12
- Supports more dtypes
- Invalidate cache methods
- Adds
CRS.geodetic_crs - More accurate reverse transforms
- Plot RGB images missing color interpretation
- Add thread safe read-only support
- Bug fixes 🐛
Changes since previous pre-release
- ENH:open: Add thread_safe parameter (#3496)
- PERF: static GDAL runtime version check (#3487)
- BUG:show_versions: Use importlib.metadata.version (#3488)
- ENH: Use GDAL open flag constants (#3494)
- CLN: Simplify gdal.h imports (#3495)
- CI: GDAL 3.12 (#3491)
- CI: Refactor download of source code for rasterio libs (#3493)
Detailed summary
Changes since previous pre-release: 1.5a0...1.5a1
Full Changelog: 1.4.4...1.5a1
1.5a0
First pre-release for version 1.5
High level overview:
- Requires Python >= 3.12, GDAL >= 3.8, and numpy >= 2.
- Improved compatibility with GDAL 3.11 & 3.12
- Supports more dtypes
- Invalidate cache methods
- Adds
CRS.geodetic_crs - More accurate reverse transforms
- Plot RGB images missing color interpretation
- Bug fixes 🐛
Detailed summary
Full Changelog: 1.4.4...1.5a0
1.4.4
Dependencies:
- Minimum supported versions: Python 3.10+ & GDAL 3.6+ (#3440)
Enhancements:
- Support for affine 3.0 (#3299)
- Enable free threading python & support Python 3.14 (#3425)
- rasterio.warp.reproject: Add tolerance argument (#3325)
Bug fixes:
- Parsing of snuggs expressions containing "is" has been fixed (#3288).
- rasterio.features.geometry_mask: Force uint8 dtype for geometry mask (#3272)
- rasterio.fill.fillnodata: pass filloptions to _fillnodata (#3314)
- rasterio.io.BaseDataset.compression: Fix compression for YCbCr JPEG (#3426)
- rasterio.io.BufferedDatasetWriterBase: Prevent instances of BufferedDatasetWriter from finalizing twice (#3309).
- rasterio.warp.reproject: Set INIT_DEST to 0 instead of NO_DATA if it's unset (#3389)
- rasterio.warp.reproject: Support masked arrays with numpy.ma.nomask (#3306)
- CLI:rio.convert: Make sure blocksizes are integers before using them (#3390)
- CLI:rio.info: Fix use 'stats' for RasterioDeprecationWarning (#3380)
- CLI:rio.rasterize: Use context manager to ensure dataset closed (#3443)
- CLI: Remove default=False for flag_value of str type (#3392)
- CLI: Fix geojson_type click option implementation (#3391)
- CLI: Remove importlib_metatada import (#3445)
- Documentation (#3348, #3407, #3409, #3350, #3352, #3368, #3351, #3384, #3318, #3344, #3337, #3343, #3342, #3340, #3347, #3349)
- Tests (#3400, #3330, #3404, #3293, #3360, #3444, #3462, #3463)
Packaging notes:
Full list of software versions
Contributors
- @adamjstewart
- @gcaria
- @groutr
- @jtsilverio
- @nathanjmcdougall
- @omarkhan
- @pjonsson
- @QuLogic
- @schwehr
- @scottstanie
- @sgillies
- @simonreise
- @snowman2
- @tveness
- @w8sl
If we missed anyone, please reach out!
Full Changelog: 1.4.3...1.4.4
💭: Released on 12/12 & version 1.4.4 (12*12=144)
1.4.4rc1
This is the second release candidate for 1.4.4.
- Python 3.14 wheels + free threading
- Improved compatibility with GDAL 3.11 & 3.12 (Warning: not all issues are resolved).
- Requires Python >= 3.10 and GDAL >= 3.6.
Unless showstopper bugs are found in this release candidate or something else comes up, expect a final 1.4.4 release on Friday.
Changes since previous release candidate
- CI: Set GDAL_VERSION only in build-wheels & deploy on tag release (#3449)
- TST: Use context manager for WarpedVRT
- TST:test_warped_vrt_msk_add_alpha: Use dsrec & caplog to check mask
Changelog since previous release candidate: 1.4.4rc0...1.4.4rc1
Full Changelog: 1.4.3...1.4.4rc1
1.4.4rc0
This is the first release candidate for 1.4.4.
- Python 3.14 wheels + free threading
- Improved compatibility with GDAL 3.11 & 3.12 (Warning: not all issues are resolved).
- Requires Python >= 3.10 and GDAL >= 3.6.
Unless showstopper bugs are found in this release candidate or something else comes up, expect a final 1.4.4 release in one week.
Full Changelog: 1.4.3...1.4.4rc0
1.4.3
Version 1.4.3 fixes two major regressions and several other minor bugs.
Bug fixes
- Erroneous masking of 0-valued raster data by boundless, masked reads has been fixed (#3268).
- If passed a dataset object,
rasterio.open()now raises TypeError instead of proceeding and crashing (#3266). - All options of
GDALFillNodata()are now supported byrasterio.fill.fill nodata()(#3265). - The flag for GDAL driver registration has been changed to an _env module attribute. Drivers should only be registered once per process at most (#3260). A side effect of this is that the GDAL_SKIP configuration option, which affects format driver registration, only has an effect the first time a dataset is opened.
- Allow a dataset's compression metadata to surface in profile and compression properties even if the value isn't present in the Compression enum (#3259).
- A bug that causes
CRS.from_wkt().is_epsg_code()to erroneously return False when an EPSG code is embedded in WKT has been fixed (#3258). - IAU 2015 has been added to the list of known CRS authorities (#3243).
- A major performance regression in Rasterio's merge tool has been corrected (#3234).
Other changes
CRS._matches()has been rewritten to better supportCRS.to_authority()andCRS.to_epsg()(#3255).
1.4.2
Version 1.4.2 fixes two regressions and further improves compatibility with GDAL 3.10.
Important note about GDAL 3.10.0
GDAL version 3.10.0 will be released soon. No version of Rasterio before 1.4.2 will fully function with GDAL 3.10. To use GDAL 3.10, you must upgrade Rasterio to 1.4.2.
Bug fixes
- The
reproject()function now always returns a 2-D array, masked or non-masked, when requested (#3223). - The various
rowcol()methods once again return integers by default as they did in 1.3.11 (#3219). - Internal usage of
CRS.to_epsg(), which is slow, has been reduced, andCRS.__eq__()has been made much faster (#3216). - The warper's use of a MEM:: dataset has been made fully compatible with changes coming in GDAL 3.10 (#3212).
Packaging notes
All wheels on PyPI include GDAL 3.9.3.
The macOS ARM64 wheels on PyPI are available only for macOS version 14 (Sonoma) or newer because of changes on the platform we use to build those wheels.