Skip to content

Releases: rasterio/rasterio

1.4.1

01 Oct 13:34
Compare
Choose a tag to compare

Version 1.4.1 fixes two regressions, improves compatibility with GDAL 3.10, and specifies a testing dependency that was previously undeclared.

Bug fixes

  • The xy() transform method once again accepts grid coordinates as input (#3198).
  • A dataset's index() method again returns a tuple of ints, not floats (#3195).

Other changes

  • GDAL 3.10 will disable opening "MEM::" datasets by default. Rasterio's internal usage of these datasets is wrapped in special configuration.
  • New color interpretation constants of GDAL 3.10 have been added to the ColorInterp enum (#3194).

1.4.0

26 Sep 00:40
Compare
Choose a tag to compare

This is the final 1.4.0 release. The package version, credits, and citation file have been updated. There have been no other changes since 1.4.0rc2. Rasterio is the work of 157 contributors, including 33 new contributors since 1.3.0.

Rasterio 1.4 will continue to support classic GIS programming work with a band-based data model.

The changes since 1.3.11 are fully described in the changelog, split across pre-releases. Here is a high-level summary.

Deprecations

  • The statistics() method of a dataset is faulty and will be removed in a future version (#3134).
  • The is_tiled property of a dataset will be removed in a future version and a pending deprecation warning will be raised if it is used (#3015).
  • The is_valid property of the CRS class is not useful and will be removed in a future version (#2919).
  • The FilePath class has been supplanted by rasterio.open's new opener keyword argument and its associated GDAL virtual filesystem plugin. It will be removed in version 2.0 (#2919).

New features

  • New dataset stats(), clear_stats(), and update_stats() methods have been added to replace the deprecated statistics() method (#3134).
  • The merge tool and merge CLI command can create very large output datasets without using more memory than the user chooses (#3022).
  • Errors that GDAL handles internally within GDALDatasetRasterIO() and GDALRasterIO() and WarpAndChunk() are chained together to be visible and accessable from Python (#2526).
  • The new "rio create" command allows creation of new, empty datasets (#3023).
  • Datasets stored in proprietary systems or addressable only through protocols not directly supported by GDAL can be accessed using the new opener keyword argument of rasterio.open() (#2898, #2907).

Other changes:

  • rasterize() better matches the behavior of Numpy array constructors. It no longer reduces the bit width of output, returning either float64 or int64 arrays unless a data type is explicitly selected, and the fill parameter no longer has an effect on the default data type (#3003).
  • Rasterio now vendors and modifies the snuggs module (#2956).
  • Given an empty shapes argument, rasterize() now returns an empty array (#2993).
  • AffineTransformer's bulk transformations have been sped up by replacing a loop with a Numpy ufunc (#2936).

1.4.0rc2

10 Sep 16:56
Compare
Choose a tag to compare
1.4.0rc2 Pre-release
Pre-release

This is the second release candidate for version 1.4. The only change is the removal of lingering conditional checks at compile and run time for GDAL versions < 3.5, across all project modules. For example, in rasterio.dtypes we no longer check for GDAL support of 64-bit integers and work around their absence, we presume that support for 64-bit integers exist.

If you use Rasterio 1.4.0 with GDAL versions < 3.5, you may experience unexpected Python exceptions, and, rarely, undefined behavior. Wheels from PyPI and conda-forge distributions, for example, meet this requirement. Please test your deployments and upgrade Rasterio and GDAL together if you are building rasterio from source.

1.4.0rc1

09 Sep 17:25
Compare
Choose a tag to compare
1.4.0rc1 Pre-release
Pre-release

This is the first release candidate for 1.4.0. There are no API changes or bug fixes since 1.4b2.

1.4.0 will require Python >= 3.9 and GDAL >= 3.5.

Unless showstopper bugs are found in this release candidate, expect a final 1.4.0 release in one week.

1.3.11

04 Sep 04:51
Compare
Choose a tag to compare

1.3.10 can no longer build because of a deleted Numpy release, so a new Rasterio release is in order. Some key bug fixes and packaging updates are coming along for the ride.

Packaging

This release allows any Numpy version >=2.0,<3 to be used to build the package.

Wheels on PyPI include recent versions of GDAL, PROJ, Curl, and libjpeg:

  • GDAL 3.9.2 (3.9.1 on Windows)
  • PROJ 9.4.1
  • Curl 8.8.0
  • libjpeg 9f

Bug fixes

  • Leaks of CSL string lists in get/set_proj_data_search_path() have been fixed (backport of #3140).
  • Color interpretation is correctly set to "palette" after a colormap is written (backport of #3133).

1.4b2

31 Aug 13:52
Compare
Choose a tag to compare
1.4b2 Pre-release
Pre-release

Deprecations

  • rasterio.parse_path() was deprecated in version 1.3.0 and has been removed (#2423). The project has raised a deprecation warning on usage of this function for more than two years and has contacted dependent projects to change their usage.

Bug fixes

  • When reprojecting a masked array, we now use the mask (reduced) as an alpha band. There is now also an option to create an alpha band in the output, and turn that into a mask when returning a mask array (#3156).
  • Find installed GDAL data directory by searching for gdalvrt.xsd (#3157).
  • Allow rasterio.open() to receive instances of MemoryFile (#3145).
  • Leaks of CSL string lists in get/set_proj_data_search_path() have been fixed (#3140).
  • Color interpretation is correctly set to "palette" after a colormap is written (#3133).

Other changes

  • _OverviewResampling enum renamed to OverviewResampling (#3151).

Packaging

Wheels for Python 3.13 are available.

  • PyPI wheels include GDAL 3.9.2 (3.9.1 for Windows) and PROJ 9.4.1.

1.4b1

11 Aug 17:57
Compare
Choose a tag to compare
1.4b1 Pre-release
Pre-release

This is the first 1.4 beta release containing all the API additions for 1.4.0. There are known bugs which may still be fixed before the first release candidate and some API additions may be removed if necessary.

Deprecations

  • The statistics() method of a dataset is faulty and will be removed in version 2.0 (#3134).

New features

  • New dataset stats(), clear_stats(), and update_stats() methods have been added to replace the deprecated statistics() method (#3134).
  • Rasterize() can now capture output in a new or previously opened dataset and can optionally return masked arrays (#3131).
  • An option to get a masked array from merge() and stack() has been added (#3130).
  • The new stack tool and the existing CLI command now have the same bounds and resolution behavior of merge() and rio merge (#3130).
  • The merge tool and CLI command can now produce output with a resolution equal to the highest source resolution. Defaults remain the same (#3130.

Bug fixes

  • The Pyopener registry and VSI plugin have been rewritten to avoid filename conflicts and to be compatible with multithreading. Now, a new plugin handler is registered for each instance of using an opener (#3113). Before GDAL 3.9.0 plugin handlers cannot not be removed and so it may be observed that the size of the Pyopener registry grows during the execution of a program.
  • A CSLConstList ctypedef has been added and is used where appropriate (#3113).
  • Missing parentheses in the denominators of the max_pixels calculation in calc() and merge() have been added (#3073, #3076). This constrains memory use as originally intended.

Packaging

Wheels for Python 3.13 are not yet available.

  • PyPI wheels include GDAL 3.9.1 and curl 8.8.0.

Other changes

  • Enable support for extra dtypes in features.shapes(): int8, float64 (#3125).

1.4a3

16 Apr 21:55
Compare
Choose a tag to compare
1.4a3 Pre-release
Pre-release

This version is compatible with recent versions of Numpy 1.x and Numpy 2.0.0rc1.

Packaging

  • Wheels will be built using Numpy 2.0.0rc1 or a newer version and will be compatible with the oldest supported Numpy 1.x.

Bug fixes

  • Rasterio's python opener VSI plugin prefix has been changed to "vsiriopener" to not conflict with Fiona.
  • Complex dtypes and nodata values can be used in merge() without errors or warnings (#3046).
  • The use of approximate transformers is disabled in the geolocation array warping case, as they already are for RPCs (#3056).
  • All use of pkg_resouces has been eliminated (#3061).
  • Non-strings may once again be used as values of the dtype keyword argument of rasterize(), fixing a bug introduced in 1.4a1 (#3045).

Other changes

  • Performance of Transformers and rowcol() have been improved by relying more on NumPy (#3103).

1.3.10

12 Apr 18:29
Compare
Choose a tag to compare

This version is compatible with recent versions of Numpy 1.x and Numpy 2.0.

Packaging:

  • Wheels for Python versions >= 3.9 will be built using Numpy 2.0.0rc1 and will be compatible with the oldest supported Numpy 1.x.
  • Wheels for Python version 3.8 will be built using the oldest supported version of NumPy and will not be compatible with Numpy 2.

Bug fixes:

  • Rasterio's merge() function and CLI command cannot handle rotated rasters. This is now noted in documentation and an error will be raised if any input is non-rectilinear (#3066).
  • Deprecated usage of pytest.warns(None) in tests has been eliminated (#3054).
  • All use of pkg_resouces has been eliminated (#3054).
  • Several tests have been adjusted to account for small differences in output between GDAL 3.7 and 3.8 (#2959).

1.4a2

03 Mar 23:07
Compare
Choose a tag to compare
1.4a2 Pre-release
Pre-release

Python support

Rasterio 1.4 requires Python version 3.9 or newer.

New features

Python openers can now support discovery of auxiliary "sidecar" files like .aux.xml, .msk, and .tfw files for GeoTIFFs (#3032). Additionally, filesystem objects, such as those from fsspec and tiledb, can be used as openers. This will become the recommended usage, supplanting the use of single file openers.

Bug fixes

  • The rio CLI output file options no longer resolve to absolute paths.
  • gzip, tar, and zip archive URIs containing drive letters were not always parsed properly on Windows, but are now.