Skip to content

1.4.0

Compare
Choose a tag to compare
@sgillies sgillies released this 26 Sep 00:40
· 6 commits to main since this release

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).