diff --git a/cookiecutter_template/cookiecutter.json b/cookiecutter_template/cookiecutter.json index f914b5d9d..21e07caf1 100644 --- a/cookiecutter_template/cookiecutter.json +++ b/cookiecutter_template/cookiecutter.json @@ -2,8 +2,8 @@ "caps_project_name": "MY_PROJECT", "project_name": "my_project", "docker_image": "my_project", - "parent_docker_image": "quay.io/azavea/raster-vision:pytorch-0.30.2-dev", - "version": "0.30.2-dev", + "parent_docker_image": "quay.io/azavea/raster-vision:pytorch-0.31.0", + "version": "0.31.0", "description": "A Raster Vision plugin", "url": "https://github.com/azavea/raster-vision", "author": "Azavea", diff --git a/cookiecutter_template/{{cookiecutter.project_name}}/rastervision_{{cookiecutter.project_name}}/requirements.txt b/cookiecutter_template/{{cookiecutter.project_name}}/rastervision_{{cookiecutter.project_name}}/requirements.txt index fc486239f..5c97c7ad0 100644 --- a/cookiecutter_template/{{cookiecutter.project_name}}/rastervision_{{cookiecutter.project_name}}/requirements.txt +++ b/cookiecutter_template/{{cookiecutter.project_name}}/rastervision_{{cookiecutter.project_name}}/requirements.txt @@ -1 +1 @@ -rastervision==0.30.2-dev +rastervision==0.31.0 diff --git a/docs/changelog.rst b/docs/changelog.rst index 580d27905..b8d37e5a0 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -2,6 +2,34 @@ CHANGELOG ========= +Raster Vision 0.31.0 +-------------------- + +This release migrates Raster Vision to pydantic v2 (it will no longer work with v1) and makes several other improvements and fixes. There are a few breaking changes; see the :doc:`migration guide `. + +* Features: + + * Add ``MultiRasterSource.from_stac()`` constructor (`#2156 `__) + * Use smarter default padding value for sliding windows (`#2190 `__) + * Use rasterio AWS session in ``RasterioSource`` when reading files on S3 (`#2197 `__) + * Determine ``num_channels`` and ``dtype`` in ``RasterSource`` statically without reading a chip (`#2212 `__) + +* Refactor: + + * Compute ``RasterStats`` from transformed ``RasterSource`` (`#2211 `__) + +* Fixes: + + * Migrate to pydantic v2 (`#2178 `__) + * Fix bug in ``ChipClassificationSource.__getitem__()`` when bbox is specified (`#2193 `__) + +* Maintenance: + + * Update codecov action to v4 and use token (`#2172 `__) + * Type hint improvements (`#2192 `__, `#2195 `__, `#2210 `__) + * Update CLA instructions (`#2196 `__) + + Raster Vision 0.30.1 -------------------- diff --git a/docs/conf.py b/docs/conf.py index 3ad0d8f56..5cf26415b 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -72,9 +72,9 @@ def setup(app: 'Sphinx') -> None: # built documents. # # The short X.Y version. -version = u'0.30' +version = u'0.31' # The full version, including alpha/beta/rc tags -release = u'0.30.2-dev' +release = u'0.31.0' # -- Extension configuration -------------------------------------------------- diff --git a/docs/framework/examples.rst b/docs/framework/examples.rst index c231b5068..8e20521b4 100644 --- a/docs/framework/examples.rst +++ b/docs/framework/examples.rst @@ -274,7 +274,7 @@ Note that the input file is assumed to have the same channel order and statistic When unzipped, the model bundle contains a ``model.pth`` file which can be used for fine-tuning. -.. note:: The model bundles linked below are only compatible with Raster Vision version ``0.30`` or greater. +.. note:: The model bundles linked below are only compatible with Raster Vision version ``0.31`` or greater. .. list-table:: Model Zoo :header-rows: 1 diff --git a/docs/migration/index.rst b/docs/migration/index.rst index d6e5f7117..e98f1bf65 100644 --- a/docs/migration/index.rst +++ b/docs/migration/index.rst @@ -4,6 +4,7 @@ Migration guides .. toctree:: :maxdepth: 1 + v0-30_to_v0-31 v0-21_to_v0-30 v0-20_to_v0-21 v0-13_to_v0-20 diff --git a/docs/migration/v0-30_to_v0-31.rst b/docs/migration/v0-30_to_v0-31.rst new file mode 100644 index 000000000..c45d93dc9 --- /dev/null +++ b/docs/migration/v0-30_to_v0-31.rst @@ -0,0 +1,12 @@ +v0.30 to v0.31 +============== + + +* You will need to have ``pydantic>=2`` installed. +* :class:`.StatsTransformer` no longer applies ``channel_order`` to the stats. The stats are now expected to already be in the same order as the channels in the output of the ``RasterSource``. + + * Backward compatibility has been maintained for older model-bundles, so they should work as before without modification. + +* Default padding behavior has changed. See `SlidingWindowGeoDataset `_. +* You no longer need to manually figure out the right padding value to use when using ``crop_sz`` during prediction. It is determined automatically such that no pixels around the edges are left out. +* ``force_same_dtype`` has been removed from :class:`.MultiRasterSource` and :class:`.MultiRasterSourceConfig`. Sub-raster sources are now always expected to have the same dtype. diff --git a/rastervision_aws_batch/requirements.txt b/rastervision_aws_batch/requirements.txt index ed020e528..7b2daa7ca 100644 --- a/rastervision_aws_batch/requirements.txt +++ b/rastervision_aws_batch/requirements.txt @@ -1,3 +1,3 @@ -rastervision_pipeline==0.30.2-dev +rastervision_pipeline==0.31.0 boto3==1.34.155 awscli==1.33.37 diff --git a/rastervision_aws_batch/setup.py b/rastervision_aws_batch/setup.py index 4dd1fcdda..bf20c3ed3 100644 --- a/rastervision_aws_batch/setup.py +++ b/rastervision_aws_batch/setup.py @@ -5,7 +5,7 @@ import re name = 'rastervision_aws_batch' -version = '0.30.2-dev' +version = '0.31.0' description = 'A rastervision plugin that adds an AWS Batch pipeline runner' requirement_constraints = {} diff --git a/rastervision_aws_s3/requirements.txt b/rastervision_aws_s3/requirements.txt index 2df605c2b..c01e122b8 100644 --- a/rastervision_aws_s3/requirements.txt +++ b/rastervision_aws_s3/requirements.txt @@ -1,4 +1,4 @@ -rastervision_pipeline==0.30.2-dev +rastervision_pipeline==0.31.0 boto3==1.34.155 awscli==1.33.37 tqdm==4.66.5 diff --git a/rastervision_aws_s3/setup.py b/rastervision_aws_s3/setup.py index d113fc60c..61059774f 100644 --- a/rastervision_aws_s3/setup.py +++ b/rastervision_aws_s3/setup.py @@ -5,7 +5,7 @@ import re name = 'rastervision_aws_s3' -version = '0.30.2-dev' +version = '0.31.0' description = 'A rastervision plugin that adds an AWS S3 file system' requirement_constraints = {} diff --git a/rastervision_aws_sagemaker/requirements.txt b/rastervision_aws_sagemaker/requirements.txt index 0a06b8e4b..33276e7fd 100644 --- a/rastervision_aws_sagemaker/requirements.txt +++ b/rastervision_aws_sagemaker/requirements.txt @@ -1,2 +1,2 @@ -rastervision_pipeline==0.30.2-dev +rastervision_pipeline==0.31.0 sagemaker==2.227.0 diff --git a/rastervision_aws_sagemaker/setup.py b/rastervision_aws_sagemaker/setup.py index 1661765c4..4d4d1ce88 100644 --- a/rastervision_aws_sagemaker/setup.py +++ b/rastervision_aws_sagemaker/setup.py @@ -5,7 +5,7 @@ import re name = 'rastervision_aws_sagemaker' -version = '0.30.2-dev' +version = '0.31.0' description = 'A rastervision plugin that adds an AWS SageMaker pipeline runner' requirement_constraints = {} diff --git a/rastervision_core/requirements.txt b/rastervision_core/requirements.txt index 6b86aa7ac..42ad49cac 100644 --- a/rastervision_core/requirements.txt +++ b/rastervision_core/requirements.txt @@ -1,4 +1,4 @@ -rastervision_pipeline==0.30.2-dev +rastervision_pipeline==0.31.0 shapely==2.0.5 geopandas==1.0.1 numpy==1.26.4 diff --git a/rastervision_core/setup.py b/rastervision_core/setup.py index 563699350..b78ef1d1f 100644 --- a/rastervision_core/setup.py +++ b/rastervision_core/setup.py @@ -5,7 +5,7 @@ import re name = 'rastervision_core' -version = '0.30.2-dev' +version = '0.31.0' description = 'A rastervision plugin that adds geospatial machine learning pipelines' requirement_constraints = {} diff --git a/rastervision_gdal_vsi/requirements.txt b/rastervision_gdal_vsi/requirements.txt index c4dbd8bb0..f5d459e2e 100644 --- a/rastervision_gdal_vsi/requirements.txt +++ b/rastervision_gdal_vsi/requirements.txt @@ -1,2 +1,2 @@ -rastervision_pipeline==0.30.2-dev +rastervision_pipeline==0.31.0 gdal>=3.4.1,<=3.6.3 diff --git a/rastervision_gdal_vsi/setup.py b/rastervision_gdal_vsi/setup.py index 44333da2f..8a8905f34 100644 --- a/rastervision_gdal_vsi/setup.py +++ b/rastervision_gdal_vsi/setup.py @@ -5,7 +5,7 @@ import re name = 'rastervision_gdal_vsi' -version = '0.30.2-dev' +version = '0.31.0' description = 'A rastervision plugin that adds a GDAL VSI file system' requirement_constraints = {} diff --git a/rastervision_pipeline/rastervision/pipeline/version.py b/rastervision_pipeline/rastervision/pipeline/version.py index cc7d5034a..d33feb4ef 100644 --- a/rastervision_pipeline/rastervision/pipeline/version.py +++ b/rastervision_pipeline/rastervision/pipeline/version.py @@ -1,2 +1,2 @@ """Library version""" -__version__ = '0.30.2-dev' +__version__ = '0.31.0' diff --git a/rastervision_pipeline/setup.py b/rastervision_pipeline/setup.py index 4f9e772c0..869ebfd5c 100644 --- a/rastervision_pipeline/setup.py +++ b/rastervision_pipeline/setup.py @@ -5,7 +5,7 @@ import re name = 'rastervision_pipeline' -version = '0.30.2-dev' +version = '0.31.0' description = 'The main rastervision package for configuring, defining, and running pipelines' requirement_constraints = { 'pydantic': '>=2', diff --git a/rastervision_pytorch_backend/requirements.txt b/rastervision_pytorch_backend/requirements.txt index 56a41c241..879189ad6 100644 --- a/rastervision_pytorch_backend/requirements.txt +++ b/rastervision_pytorch_backend/requirements.txt @@ -1,3 +1,3 @@ -rastervision_pipeline==0.30.2-dev -rastervision_core==0.30.2-dev -rastervision_pytorch_learner==0.30.2-dev +rastervision_pipeline==0.31.0 +rastervision_core==0.31.0 +rastervision_pytorch_learner==0.31.0 diff --git a/rastervision_pytorch_backend/setup.py b/rastervision_pytorch_backend/setup.py index 76de6e70c..7b819d8ad 100644 --- a/rastervision_pytorch_backend/setup.py +++ b/rastervision_pytorch_backend/setup.py @@ -5,7 +5,7 @@ import re name = 'rastervision_pytorch_backend' -version = '0.30.2-dev' +version = '0.31.0' description = 'A rastervision plugin that adds PyTorch backends for rastervision.core pipelines' requirement_constraints = {} diff --git a/rastervision_pytorch_learner/requirements.txt b/rastervision_pytorch_learner/requirements.txt index 6982a27f2..85066d85c 100644 --- a/rastervision_pytorch_learner/requirements.txt +++ b/rastervision_pytorch_learner/requirements.txt @@ -1,5 +1,5 @@ -rastervision_pipeline==0.30.2-dev -rastervision_core==0.30.2-dev +rastervision_pipeline==0.31.0 +rastervision_core==0.31.0 numpy==1.26.4 pillow==10.4.0 torch==2.4.0 diff --git a/rastervision_pytorch_learner/setup.py b/rastervision_pytorch_learner/setup.py index 8150ba4b6..ea2cb9b0a 100644 --- a/rastervision_pytorch_learner/setup.py +++ b/rastervision_pytorch_learner/setup.py @@ -5,7 +5,7 @@ import re name = 'rastervision_pytorch_learner' -version = '0.30.2-dev' +version = '0.31.0' description = 'A rastervision plugin that adds PyTorch training pipelines' requirement_constraints = {} diff --git a/requirements.txt b/requirements.txt index 7df0a4e7c..25753d2f2 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,6 +1,6 @@ -rastervision_pipeline==0.30.2-dev -rastervision_aws_s3==0.30.2-dev -rastervision_aws_batch==0.30.2-dev -rastervision_core==0.30.2-dev -rastervision_pytorch_learner==0.30.2-dev -rastervision_pytorch_backend==0.30.2-dev +rastervision_pipeline==0.31.0 +rastervision_aws_s3==0.31.0 +rastervision_aws_batch==0.31.0 +rastervision_core==0.31.0 +rastervision_pytorch_learner==0.31.0 +rastervision_pytorch_backend==0.31.0 diff --git a/setup.py b/setup.py index 130c5a7ab..991ebc2c5 100644 --- a/setup.py +++ b/setup.py @@ -4,7 +4,7 @@ from setuptools import setup, find_namespace_packages import re -__version__ = '0.30.2-dev' +__version__ = '0.31.0' requirement_constraints = {} here = abspath(dirname(__file__))