NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #4651 most downloaded on PyPI
geospatial xarray extension powered by rasterio
Last release 2 months ago
27 Jul 2026
Release timing varies
gaps range from 1 weeks to 6 months
Nearly every release is documented
notes for 59 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
7 years old
86 releases · first in 2019
ENH: Implement write support for Zarr conventions by @emmanuelmathot in https://github.com/corteva/rioxarray/pull/918
Full Changelog: https://github.com/corteva/rioxarray/compare/0.22.0...0.23.0
Add read support for Zarr spatial and proj conventions by @emmanuelmathot in https://github.com/corteva/rioxarray/pull/905
One column per quarter.
Full Changelog: https://github.com/corteva/rioxarray/compare/0.21.0...0.22.0
ENH: Add read support for Zarr spatial and proj conventions (#900)
ENH: Add convention option to set_options() for future multi-convention support (#899)
REF: Extract CF convention logic to _convention/cf.py module (#899)
DEP: pin xarray 2026.2+ (#907)
BUG: Convert tuple chunks to dict in _prepare_dask to avoid DeprecationWarning by @martijnvandermarel in https://github.com/corteva/rioxarray/pull/879
_prepare_dask to avoid DeprecationWarning by @martijnvandermarel in https://github.com/corteva/rioxarray/pull/879Full Changelog: https://github.com/corteva/rioxarray/compare/0.20.0...0.21.0
ENH: RPCs: Load and write RPCs (#890)
ENH: Add rio.to_rasterio_dataset (#894)
ENH: Add float16 default nodata (#896)
BUG: Convert tuple chunks to dict in _prepare_dask to avoid DeprecationWarning (#879)
DEP: pin xarray due to GH-xarray-11000 (#881)
DOC: Fix grid_mapping location (#876)
MNT: Align conda Python version with pre-commit's (#891)
MNT: Use dependency_groups (#889, (#893)
reproject() and reproject_match() accept resample parameter of type str by @trchudley in https://github.com/corteva/rioxarray/pull/870
reproject() and reproject_match() accept resample parameter of type str by @trchudley in https://github.com/corteva/rioxarray/pull/870Full Changelog: https://github.com/corteva/rioxarray/compare/0.19.0...0.20.0
DEP: Support Python 3.12-3.14 (#872)
DEP: numpy 2+ (#871)
ENH: Enable string resample parameter in rio.reproject and rio.reproject_match (#870)
DOC: Fix spelling of "Unmasked" by @awesomephant in https://github.com/corteva/rioxarray/pull/845
rasterio.io.MemoryFile code added in #765 & #781 by @snowman2 in https://github.com/corteva/rioxarray/pull/850Full Changelog: https://github.com/corteva/rioxarray/compare/0.18.2...0.19.0
BUG:merge: Revert rasterio.io.MemoryFile code (#850)
DEP: pin rasterio >= 1.4.3 (#850)
Fix typo in raster_array.py by @clausmichele in https://github.com/corteva/rioxarray/pull/830
Full Changelog: https://github.com/corteva/rioxarray/compare/0.18.1...0.18.2
DEP: pin rasterio>=1.3.7 https://github.com/corteva/rioxarray/pull/826
Full Changelog: https://github.com/corteva/rioxarray/compare/0.18.0...0.18.1
DEP: Pin rasterio>=1.3.7 (pull #826)
BUG:merge: Ensure dims and coords match input array (pull #828)
ENH:reproject: Support geolocation arrays by @snowman2 in https://github.com/corteva/rioxarray/pull/822
open_rasterio by @DahnJ in https://github.com/corteva/rioxarray/pull/811Full Changelog: https://github.com/corteva/rioxarray/compare/0.17.0...0.18.0
ENH:reproject: Support geolocation arrays (pull #822)
REF: Add positional arguments requirements (pull #806)
BUG:merge: Fix merging masked and scaled data (issue #814)
BUG: Fix chunk arguments for normalize_chunks (pull #820)
BUG: Squeeze when using interpolate_na with extra dim (pull #810)
BUG: Properly handle encoding/decoding scales and offsets by (pull #821)
DOC: Clearer coordinate docstring for open_rasterio (pull #811)
REF:reproject: Make NaN default float nodata & update integer defaults in https://github.com/corteva/rioxarray/pull/797
Full Changelog: https://github.com/corteva/rioxarray/compare/0.16.0...0.17.0
MNT: recommend write_crs & deprecate set_crs by @dluks in https://github.com/corteva/rioxarray/pull/793
Full Changelog: https://github.com/corteva/rioxarray/compare/0.15.7...0.16.0
ENH: Add allow_one_dimensional_raster option to rio.clip_box (issue #708)
MNT: recommend rio.write_crs` & deprecate rio.set_crs (pull #793)
BUG: Remove grid_mapping from attrs when writing by @snowman2 in https://github.com/corteva/rioxarray/pull/790
Full Changelog: https://github.com/corteva/rioxarray/compare/0.15.6...0.15.7
BUG: Remove grid_mapping from attrs when writing (pull #783)
BUG: Ensure gcp_crs exists before writing in rio.write_gcps (issue #646)
BUG: Raise overflow error when nodata conversion is unsafe by @snowman2 in https://github.com/corteva/rioxarray/pull/782
Full Changelog: https://github.com/corteva/rioxarray/compare/0.15.5...0.15.6
BUG: Raise OverflowError when nodata data type conversion is unsafe (pull #782)
BUG: Support writing GCPs to netCDF (issue #778)
BUG: Fix reading dask chunks when band_as_variable=True (issue #761)
REF:merge: Use merge path & rio.to_raster (pull #781)
BUG:reproject: Allow rotated rasters in https://github.com/corteva/rioxarray/pull/772
Full Changelog: https://github.com/corteva/rioxarray/compare/0.15.4...0.15.5
BUG:reproject_match: Remove setting spatial dims on output dataset in https://github.com/corteva/rioxarray/pull/769
Full Changelog: https://github.com/corteva/rioxarray/compare/0.15.3...0.15.4
BUG:reproject_match: Remove setting spatial dims on output resampled dataset (issue #768)
REF: Use rasterio.io.MemoryFile in merge in https://github.com/corteva/rioxarray/pull/765
Full Changelog: https://github.com/corteva/rioxarray/compare/0.15.2...0.15.3
BUG:merge: Use rasterio.io.MemoryFile` for reading (pull #765)
BUG:merge: Add simple defaults for unused payload/colormap (pull #766)
Nothing published for this version
BUG: Avoid DeprecationWarning: xr.Dataset.drop() -> xr.Dataset.drop_vars() by @xaviernogueira in https://github.com/corteva/rioxarray/pull/740
Full Changelog: https://github.com/corteva/rioxarray/compare/0.15.1...0.15.2
BUG: Add decode_coords kwarg to backend entrypoint (pull #763)
BUG: Avoid DeprecationWarning: xr.Dataset.drop() -> xr.Dataset.drop_vars() (pull #740)
More robust handling of GCPs geojson #731 by @Kirill888 in https://github.com/corteva/rioxarray/pull/735
Full Changelog: https://github.com/corteva/rioxarray/compare/0.15.0...0.15.1
DEP: Support Python 3.10-3.12 (pull #723)
DEP: rasterio 1.3+, pyproj 3.3+ (pull #725, #727)
DEP: xarray 2022.3.0+ & numpy 1.23+ (pull #728)
ENH: Robust handling of GCPs without z component (issue #731)
ENH: Pass on on-disk chunk sizes as preferred chunk sizes to the xarray backend by @mraspaud in https://github.com/corteva/rioxarray/pull/678
__all__ to top level module #680 by @Kirill888 in https://github.com/corteva/rioxarray/pull/683Full Changelog: https://github.com/corteva/rioxarray/compare/0.14.1...0.15.0
BUG: Fix setting spatial dims internally during propagation (pull #682)
ENH: Pass on on-disk chunk sizes as preferred chunk sizes to the xarray backend (pull #678)
MNT: add __all__ to top level module (issue #680)
BUG: Fix merge crs check by @snowman2 in https://github.com/corteva/rioxarray/pull/655
Full Changelog: https://github.com/corteva/rioxarray/compare/0.14.0...0.14.1
BUG: Fix rioxarray.merge CRS check (pull #655)
BUG: Remove tags with metadata added by rasterio in rioxarray.open_rasterio (issue #666)
DEP: Drop Python 3.8 support in https://github.com/corteva/rioxarray/pull/641
Full Changelog: https://github.com/corteva/rioxarray/compare/0.13.4...0.14.0
DEP: Drop Python 3.8 support (issue #582)
DEP: pin rasterio>=1.2 (pull #642)
BUG: Fix WarpedVRT in rioxarray.open_rasterio when band_as_variable=True (issue #644)
BUG: Fix usage of encode_cf_variable in rio.to_raster (pull #652)
DOC: Fix typo in docstring of .clip() by @LukeWeidenwalker in https://github.com/corteva/rioxarray/pull/622
.clip() by @LukeWeidenwalker in https://github.com/corteva/rioxarray/pull/622Full Changelog: https://github.com/corteva/rioxarray/compare/0.13.3...0.13.4
BUG: Handle additional data types in rio.reproject by @caldwellst in https://github.com/corteva/rioxarray/pull/619
rio.reproject by @caldwellst in https://github.com/corteva/rioxarray/pull/619Full Changelog: https://github.com/corteva/rioxarray/compare/0.13.2...0.13.3
BUG:dataset: Fix writing tags for bands
Full Changelog: https://github.com/corteva/rioxarray/compare/0.13.1...0.13.2
BUG:dataset: Fix writing tags for bands (issue #615)
BUG:dataset: prevent overwriting long_name attribute (pull #616)
BUG: Fix closing files manually in https://github.com/corteva/rioxarray/pull/607
Full Changelog: https://github.com/corteva/rioxarray/compare/0.13.0...0.13.1
BUG: Fix closing files manually (pull #607)
BUG: Add GDAL 3.6 driver auto-select fix (pull #606)
ENH: Added band_as_variable option to open_rasterio by @snowman2 in https://github.com/corteva/rioxarray/pull/600
Full Changelog: https://github.com/corteva/rioxarray/compare/0.12.4...0.13.0
BUG: pass warp_extras to rasterio.vrt.WarpedVRT by @scottyhq in https://github.com/corteva/rioxarray/pull/599
Full Changelog: https://github.com/corteva/rioxarray/compare/0.12.3...0.12.4
ENH: Added band_as_variable option to open_rasterio (issue #296)
BUG: Pass warp_extras dictionary to raster.vrt.WarpedVRT (issue #598)
BUG: Handle CF CRS export errors in 'rio.write_crs' in https://github.com/corteva/rioxarray/pull/595
Full Changelog: https://github.com/corteva/rioxarray/compare/0.12.2...0.12.3
BUG: Fix mask_and_scale data load after .sel https://github.com/corteva/rioxarray/pull/581
Full Changelog: https://github.com/corteva/rioxarray/compare/0.12.1...0.12.2
DOC: add notes to docs that xarray.open_rasterio is deprecated by @JessicaS11 in https://github.com/corteva/rioxarray/pull/569
Full Changelog: https://github.com/corteva/rioxarray/compare/0.12.0...0.12.1
ENH: Allow passing in bounds of different CRS in rio.clip_box in https://github.com/corteva/rioxarray/pull/563
Full Changelog: https://github.com/corteva/rioxarray/compare/0.11.2...0.12.0
Removed deprecated parameters from clip_box by @jonasViehweger in https://github.com/corteva/rioxarray/pull/552
Full Changelog: https://github.com/corteva/rioxarray/compare/0.11.1...0.11.2
BUG: Fix reading file handle with dask (issue #550)
BUG: Fix reading cint16 files with dask (issue #542)
BUG: Ensure rio.bounds ordered correctly (issue #545)
BUG: Allow reading from io.BytesIO (issue #549)
BUG: Fix WarpedVRT param cache in open_rasterio
Full Changelog: https://github.com/corteva/rioxarray/compare/0.11.0...0.11.1
BUG: Fix WarpedVRT param cache in rioxarray.open_rasterio (issue #515)
BUG: Always generate coordinates in rio.reproject when GCPS|RPCS present (issue #517)
REF: use setup.cfg by @snowman2 in https://github.com/corteva/rioxarray/pull/500
Full Changelog: https://github.com/corteva/rioxarray/compare/0.10.3...0.11.0
TYPE: Add more type hints (issue #373)
ENH: Add additional GDAL information to rioxarray.show_versions (pull #513)
BUG: Remove xarray crs attribute in rio.write_crs (issue #488) by @GCBallesteros in https://github.com/corteva/rioxarray/pull/490
crs attribute in rio.write_crs (issue #488) by @GCBallesteros in https://github.com/corteva/rioxarray/pull/490Full Changelog: https://github.com/corteva/rioxarray/compare/0.10.2...0.10.3
BUG: Lazy load colormap through _manager.acquire() in merge
Full Changelog: https://github.com/corteva/rioxarray/compare/0.10.1...0.10.2
BUG: Lazy load colormap through _manager.acquire() in merge (issue #479)
DEP: pin rasterio>=1.1.1 by @snowman2 in https://github.com/corteva/rioxarray/pull/471
Full Changelog: https://github.com/corteva/rioxarray/compare/0.10.0...0.10.1
DEP: pin rasterio>=1.1.1 (pull #471)
BUG: Corrected bounds and transform args to float (pull #475)
DEP: Drop Python 3.7 support by @snowman2 in https://github.com/corteva/rioxarray/pull/452
Full Changelog: https://github.com/corteva/rioxarray/compare/0.9.1...0.10.0
DEP: Drop Python 3.7 support (issue #451)
ENH: Add GCPs reading and writing (issue #376)
DOC: Discrepancy between clip methods by @remi-braun in https://github.com/corteva/rioxarray/pull/442
Other contributions:
Full Changelog: https://github.com/corteva/rioxarray/compare/0.9.0...0.9.1
ENH: Allow additional kwargs to pass from reproject_match() -> reproject() (pull #436)
Contributions for this release. People with a "+" by their names contributed a patch for the first time.
Other contributions:
DEP: Make scipy an optional dependency (issue #413)
rio.isel_window (issue #421)BUG: Handle transforms with rotation (pull #401)
BUG: rio.clip and rio.clip_box skip non-geospatial arrays in datasets when clipping (pull #392)
rio.clip and rio.clip_box skip non-geospatial arrays in datasets when clipping (pull #392)Contributions for this release. People with a "+" by their names contributed a patch for the first time.
Other contributions:
BUG: Fix indexing error when mask_and_scale=True was combined with band dim chunking (issue #387, pull #388)
mask_and_scale=True was combined with band dim chunking (issue #387, pull #388)Contributions for this release. People with a "+" by their names contributed a patch for the first time.
Other contributions:
ENH: Add pad option to rio.isel_window (issue #381; pull #383)
rio.isel_window (issue #381; pull #383)rio.isel_window (issue #381; pull #383)A total of 3 people contributed patches to this release. People with a "+" by their names contributed a patch for the first time.
Other contributions:
ENH: Allow passing in kwargs to rio.reproject (issue #369; pull #370)
rio.reproject (issue #369; pull #370)rio.reproject (pull #370)BUG: support GDAL CInt16, rasterio complex_int16 (pull #353)
A total of 2 people contributed patches to this release. People with a "+" by their names contributed a patch for the first time.
Other contributions:
BUG: Improve WarpedVRT support for gcps (pull #351)
Nothing published for this version
DEP: xarray 0.17+ (needed for issue #282)
grid_mapping in encoding instead of attrs (issue #282)engine="rasterio" via xarray backend API (issue #197 pull #281)encoded kwarg to rio.write_nodata (discussions #313)decode_times and decode_timedelta kwargs to rioxarray.open_rasterio (issue #316)rio.transform with non-rectilinear transform (discussions #280)rio methods if not previously there (pull #294)A total of 4 people contributed patches to this release. People with a "+" by their names contributed a patch for the first time.
Other contributions:
BUG: Compatibility changes with xarray 0.17 (issue #254)
REF: Reduce pyproj.CRS internal usage for speed (issue #241)
rioxarray.set_options to disable exporting CRS CF grid mapping (issue #241)A total of 2 people contributed patches to this release. People with a "+" by their names contributed a patch for the first time.
Other contributions:
ENH: Added rio.estimate_utm_crs (issue #181)
rio.estimate_utm_crs (issue #181)rio.to_raster (issue #9, pull #219, pull #223)transform_geom with rasterio 1.2+ (issue #180)rioxarray.open_rasterio (issue #214)rio.write_crs when spatial dimensions not found (pull #186)A total of 3 people contributed patches to this release. People with a "+" by their names contributed a patch for the first time.
Other contributions:
BUG: Check all CRS are the same in the dataset in crs() method
Raise deprecation exception in add_spatial_ref and add_xy_grid_meta (pull #168)
Deprecate add_spatial_ref and fix warning for add_xy_grid_meta (pull #158)
BUG: Fix assigning fill value in rio.pad_box (pull #140)
rio.pad_box (pull #140)rio.write_transform to store cache in GDAL location (issue #129 & #139)rio.clip_box (issue #142)rio.count, rio.slice_xy(), rio.bounds(), rio.resolution(), rio.transform_bounds() to Dataset levelrio.write_coordinate_system() (issue #147)rio.clip to assume geometry has CRS of dataset (pull #150)rio.grid_mapping and rio.write_grid_mapping & preserve original grid mapping (pull #151)BUG: Remove unnecessary memory copies in reproject method (pull #136)
rio.isel_window (pull #133)rio.pad_box (pull #138)A total of 3 people contributed patches to this release. People with a "+" by their names contributed a patch for the first time.
Other Contributions:
rio.reproject: change input kwarg dst_affine_width_height -> shape & transform
Fix RasterioDeprecationWarning (pull #117)
shape argument to rio.reproject (pull #116)RasterioDeprecationWarning (pull #117)A total of 3 people contributed patches to this release. People with a "+" by their names contributed a patch for the first time.
Other Contributions:
Your coding agent can read these notes before it upgrades. Set up the MCP server →