Skip to content

Releases: rasterio/rasterio

1.5.0

05 Jan 14:22

Choose a tag to compare

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

If we missed anyone, please reach out!

Full Changelog: 1.4.4...1.5.0

1.5rc1

30 Dec 10:26
6bcb46b

Choose a tag to compare

1.5rc1 Pre-release
Pre-release

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

29 Dec 16:24

Choose a tag to compare

1.5rc0 Pre-release
Pre-release

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

23 Dec 17:15

Choose a tag to compare

1.5a1 Pre-release
Pre-release

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

15 Dec 15:02

Choose a tag to compare

1.5a0 Pre-release
Pre-release

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

12 Dec 14:47

Choose a tag to compare

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

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

10 Dec 11:42
0b5607a

Choose a tag to compare

1.4.4rc1 Pre-release
Pre-release

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

Changelog since previous release candidate: 1.4.4rc0...1.4.4rc1
Full Changelog: 1.4.3...1.4.4rc1

1.4.4rc0

05 Dec 22:20
fdffb39

Choose a tag to compare

1.4.4rc0 Pre-release
Pre-release

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

02 Dec 16:44

Choose a tag to compare

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 by rasterio.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 support CRS.to_authority() and CRS.to_epsg() (#3255).

1.4.2

30 Oct 17:28

Choose a tag to compare

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, and CRS.__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.