Changelog
November 21, 2023 ยท View on GitHub
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Unreleased
0.5.3 - 2023-11-21
Changed
- Make computation of statistics and histogram optional for
core.add_raster.add_raster_to_item(#467) - Make stac-validator and stac-check optional dependencies (#468)
Removed
--quietargument tostac validate(#471)
0.5.2 - 2023-09-20
Fixed
- IO with newer fsspec (#463)
0.5.1 - 2023-08-11
Added
- Add
stac migratecommand (#443)
Fixed
0.5.0 - 2023-08-04
Added
- For raster footprints users can set destination CRS rather than it being hardcoded to EPSG:4326 (#440)
- Raster footprint calculation for multi-asset items can elect to use the union or intersection of the asset footprints (#445)
- On
stac create-itemasset key name and roles are settable (#442)
Changed
- Update pystac dependency to 0.7 and shapely to 2.0 (#441)
- Make
stac copy --copy-assetscopy assets to collections (#437)
Fixed
copy --copy-assetsnow works even with relative asset hrefs (#436)
Deprecated
- Many functions in
stactools.testing.CliTestCase(#447). raster_footprint.reproject_polygonandprojection.reproject_geom. Useprojection.reproject_shapeinstead withshapely.Geometryobjects as the input and output (#441)
Removed
- Unused files under
tests/data-files(#438)
0.4.8 - 2023-06-01
Added
--no-resolve-linksto the copy command (#430)
Changed
- Use
pyproject.tomlfor project metadata (#424) - Use https://pypi.org/project/antimeridian for antimeridian and pole fixes (#426). Note that this may change the output geometries when fixing some antimeridian-crossing polygons, e.g. if the input polygons are wound clockwise (instead of counter-clockwise), the output geometry will be unexpectedly large (https://github.com/gadomski/antimeridian/issues/33).
Fixed
- Bounding boxes after fixing geometries for antimeridian crossings (#432)
Deprecated
- Many functions in
stactools.core.utils.antimeridian(#426). Users should use the antimeridian package instead, or in the case "normalization", don't normalize at all since it doesn't conform to the GeoJSON spec. These are the deprecated functions:splitsplit_multipolygonnormalizenormalize_multipolygonenclose_poles
0.4.7 - 2023-05-08
Changed
- Transformation failures in
reproject_geomnow throw an error (#420)
0.4.6 - 2023-04-10
Added
enclose_polesto the antimeridian module (#416)
Fixed
densify_by_distancenow includes the points in the original coordinate list in the returned densified coordinate list (#412)densify_by_factornow includes the final coordinate in the original coordinate list in the returned densifed coordinate list (#412)- The
footprintmethod on theRasterFootprintclass now always returns counter-clockwise polygons in line with the GeoJSON specification (#412)
Changed
update_geometry_from_asset_footprintin the raster_footprint module now updates the Item bbox based on the updated geometry extents (#414)
0.4.5 - 2023-03-24
Added
- Add
update-extentsubcommand to the CLI (#405)
Changed
0.4.4 - 2023-02-16
Added
stactools.core.utils.roundfor rounding Item geometry and Item and Collection bboxes to a specified precision (#384)stactools.core.utils.raster_footprint.densify_by_distancefor densifying polygons at distance intervals (#396)stactools.core.utils.raster_footprint.reproject_polgyonfor reprojecting a polygon and removing duplicate vertices caused by rounding (#396)stactools.core.utils.raster_footprint.RasterFootprintclass for customizing raster data footrpint creation behaviour via subclassing (#396)
Changed
- Freed
recursive_roundfunction fromround_coordinatesinstactools.core.utils.round(#390) - Exposed the private
_densifyfunction asdensify_by_factorinstactools.core.utils.raster_footprint(#396)
Deprecated
update_geometry_from_asset_footprint,data_footprints_for_data_assets, anddata_footprintfunctions will be removed fromstactools.core.utils.raster_footprintin v0.6.0 (#396)
0.4.3 - 2022-12-16
Added
- Include kwargs in io
read_textfor use with internalfsspec.opencall. (#372) - Python 3.11 support (#376)
stac summarycommand (#323)
0.4.2 - 2022-09-15
Added
- Multi-band support for raster footprint generation (#355)
Fixed
stac create-itemJSON output (#355)
0.4.1 - 2022-08-08
Fixed
stactools.core.utils.raster_footprintnow handles nan nodata values correctly (#344)
0.4.0 - 2022-08-01
Added
stactools.core.geometryfor handling common geometrical operations like creating bounding boxes from GeoJSON (#314)- Specify installation channel to use for all conda packages to avoid incompatibility (#301)
- Allow MultiPolygons when fixing antimeridian issues (#317)
- Conda package, via conda-forge (#324)
- Context manager to ignore rasterio's NotGeoreferencedWarning (#331)
stactools.core.utils.raster_footprintandstac update-geometryto assist in populating the geometry of an Item from data coverage of its data assets (#307)stactools.core.add_assetandstac add-assetto add an asset to an item (#300)
Changed
- Modified
stactools.core.utils.convertwith functions to export subdatasets from HDF files as separate COGs and single bands from multiband files (#318) - Modified
stactools.core.utils.antimeridian.fix_itemto return the item and updated 2 unit tests (#317) - Relaxed typing for cmd parameter for the CliTestCase.run_command in cli_test.py (#312)
- Cleaned up API documentation (#315)
- Renamed command
addrastertoadd-raster(#321)
Removed
- Unnecessary and incorrect
argsandkwargsfromStacIOsubclass (#315) - Dropped support for Python 3.7 (#313)
0.3.1 - 2022-05-05
Added
- CI check for Python 3.10 (requires pre-release version of rasterio 1.3) (#271)
- pre-commit and isort (#275)
stac infonow has option-por--progressto update console output while reading the catalog (#262)- More API documentation (#282)
FsspecStacIO.write_text_to_href(#291)
Changed
- Skip Click v8.1.0 as it broke decorator typing (#266)
- Use black (instead of yapf) for formatting (#274)
- stac-check version and lint reporting (#258)
- Sphinx theme (#284)
- Use stac-validator for validation (#289)
Fixed
Deprecated
FsspecStacIO.write_text_from_hrefwill be removed in v0.5.0 (#291)
0.3.0 - 2022-03-25
Added
- Documentation on the release process (#241)
stac lintusing stac-check (#254)stac infonow has option-sor--skip_itemsto skip counting and printing catalog item info (#260)- updated
livehtmltarget for documentation build to work with latestsphinx-autobuild(#261) - Antimeridian helpers (#259)
0.2.6 - 2022-02-15
Added
- CI checks for minimum and pre-release versions of dependencies (#228)
Fixed
- Test items are now valid STAC v1.0.0 (#243)
- Move asset tests now have all the assets they need (#243)
Changed
- Use pytest for unit testing instead of
unittest(#220) - Signature of
stactools.core.utils.convert.cogify(#222) - Don't push Docker images from pull requests (#225, #226)
Removed
0.2.5 - 2022-01-03
Added
read_href_modiferargument tostactools.create.item(#212)
0.2.4 - 2021-11-23
Added
addrastercommand (#204), includinggdalPython dependency
Changed
- Update to pystac 1.2 (#209)
- Update click to 8.0.x (#209)
- Any packages using
types-clickshould remove that package. Version 8 adds proper type annotations to the main package.
- Any packages using
- Set mypy to
strict(#209)
Fixed
- Readthedocs build (#210)
0.2.3 - 2021-09-16
Added
stactools.core.create.itemand associated CLI subcommand (#201)stactools.core.add.add_itemand associated CLI command for adding an item to a Catlog/Collection (#153)
Fixed
- Typing for Python 3.7 in
stactools.core.projection(#201)
0.2.2 - 2021-09-13
Added
- Add the ability to use data from the Microsoft Planetary Computer as external testing data (#197)
Changed
- Improved error reporting and documentation for old GDAL versions. GDAL 3.1 is required to read and write Cloud Optimized Geotiffs. (#194)
Fixed
0.2.1 - 2021-07-28
The v0.2 release of stactools is a major refactor of the packaging and organization strategy for stactools.
Most packages have been moved to the stactools-packages organizing, leaving only stactools.core, stactools.cli, and the new stactools.testing packages in this repository.
Added
- Adds
stactools.testing, which provides an API with convenience functions for packages to use in their testing code. Replacestests/utils. - Add
mypyas a lint dependency. Also publish type information for whenstactoolsis used as a library. (#182) - Optional dependency on s3fs (#178), enabling:
- Using s3 files as external data for testing
- Using s3 hrefs with stactools functionality by installing with
pip install stactools[s3](orpip install stactools[all])
stac validatecommand for validating JSON and checking links (#151)docker/pullscript for downloading Docker images- GitHub issue and PR templates
script/notebookto run Jupyter notebooks (#174)
Changed
- Separates dataset packages and
stactools.browseinto a new Github organization, stactools-packages - Updated PySTAC dependency to
~= 1.1(#185) - Restructured the Docker build
- Using GitHub Docker Registry rather than DockerHub for storing images
- Use both PySTAC and STAC version in version command (#149)
- Bumped
rasterioversion to v1.2
Removed
- Dropped support for Python 3.6
validate_cloud_optimized_geotiff.py
0.1.6 - 2021-06-09
Added
Changed
- Better handling for Skysat images and other Planet improvements (#73)
- Use core utilities in more subpackages (#112)
Fixed
- Converted landsat tests to local instead of network access (#105)
- Update landsat convert script to take new USGS fields (#109)
- Typo in Sentinel 2 L2A items (#116)
--enable-projflag for landsat's convert command (#94)- Small documentation typo (#119)
- Removed leftover debugging code in sentinel2 test (#118)
- Landsat8 bounding boxes were off by half of a pixel (#121)
- Zero-valued z coordinates in sentinel2 metadata (#122)
- SA_QA_AEROSOL asset key in landsat data (#126)
- Relative paths in sentinel2 assets (#125)
0.1.5 - 2021-05-06
Added
- Method for creating Copernicus Land Cover Layers (#50)
eo:bandsinformation for Planet SkySat assets (#40)- Roles and thumbnails for Planet assets (#46 and #49)
- Projection information for Planet items (#39)
- Azimuth values in the view namespace for Planet (#59)
- More Planet properties (#57)
- Add "via" rel link for Planet data (#58)
- Sentinel-2 item creation (#52)
- Top level symlink directory to help the dev environment.
- Merge command (#75)
- USGS 3DEP support as
threedep(#81)
Changed
- Allow debug output in unit tests
- Updates to
aster,landsat, andsentinel2subpackages (#83)
Fixed
- Landsat projection extraction (#67 and #100)
- Installing
naipsubpackage (#72) - Clean up planet test data (#74)
asterCOG generation (#89)landsatasset keys (#90)- Docs (#93)
0.1.4 - 2021-02-21
Added
- Implementation of Landsat STAC handling (#23)
- Add NAIP subpackage for deriving NAIP STAC items and collection (#18)
- Add catalog type option for
planet convert(#61)
0.1.3 - 2021-01-19
Added
- Add method for creating CORINE Land Cover. (#33)
Fixed
- Fix issue caused by mihandling of shapely bounds returning tuple. (#41)
0.1.2 - 2021-01-14
Added
- Added ASTER package (#16)
Fixed
- Fixed issues with copying and asset movint (#34)
- Fix
stac browsewith upgrades to versions in the tiler container (#35)
0.1.1 - 2020-11-14
See #9
Added
- Add docs to note that stac copy will migrate the copied STAC to the latest version.
Changed
- Add -h as shortcut for --include-hrefs option in stac describe.
Fixed
- Include all Planet item metadata, using 'pl:' for a prefix to any metadata that doesn't map to STAC
- Fixed bug in stac merge when copying assets
- Update collection extents when using stac merge
0.1.0 - 2020-10-30
Added
stac planetcommands for converting Planet orders to STACs.stac.cli.command.copycommands for copying and moving STACs and assets.stac.cli.command.layoutfor modifying the layout of STACsstac.browsefor launching a local instance of stac-browser using docker.