------------------
This release brings some exciting new functionality to Raster Vision.
Highlights:
- Raster Vision can now consume imagery from STAC APIs via the newly-added :class:`.XarraySource` (see tutorial: :doc:`usage/tutorials/stac_plus_osm`).
- Raster Vision can now consume temporal data i.e. time series of images via :class:`.TemporalMultiRasterSource` and :class:`.XarraySource` (see tutorial: :doc:`usage/tutorials/temporal`).
- The model-bundles produced by now additionally include the model exported in the ONNX format and Raster Vision will use an ONNX runtime to make predictions if ``RASTERVISION_USE_ONNX=1`` is set.
API changes:
- To crop the extent of a :class:`.RasterSource` (or :class:`.LabelSource`), you now have to specify ``bbox`` instead of ``extent``. The term "extent", as used in the codebase, has also been redefined to always be the box ``Box(0, 0, height, width)``, where ``height`` and ``width`` are the height and width of the ``bbox``.
- :class:`.GeoJSONVectorSource` can now take a list of URIs, allowing geometries to be read from multiple files.
- :class:`.VectorOutputConfig` (and subclasses) no longer require ``uri`` to be specified.
Features
~~~~~~~~
- Add ``XarraySource`` to make it easier to consume imagery fetched from a STAC API (`1764 <https://github.com/azavea/raster-vision/pull/1764>`__)
- Add experimental ONNX support (`1792 <https://github.com/azavea/raster-vision/pull/1792>`__)
- Add support for temporal data (`1803 <https://github.com/azavea/raster-vision/pull/1803>`__, `#1815 <https://github.com/azavea/raster-vision/pull/1815>`__)
Fixes/minor improvements/refactoring
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Improve efficiency of positive-window sampling in ``ObjectDetectionRandomWindowGeoDataset`` by filtering labels by AOI (`1705 <https://github.com/azavea/raster-vision/pull/1705>`__)
- Misc object detection fixes and improvements (`1711 <https://github.com/azavea/raster-vision/pull/1711>`__)
- Allow ``GeoJSONVectorSource`` to accept multiple URIs (`1712 <https://github.com/azavea/raster-vision/pull/1712>`__)
- Allow specifying extra args for default model in ``ModelConfig`` (`1713 <https://github.com/azavea/raster-vision/pull/1713>`__)
- Ensure ``RasterSource`` and ``LabelSource`` extents match up in ``Scene`` (`1740 <https://github.com/azavea/raster-vision/pull/1740>`__)
- Allow all constituent object detection losses to be logged (`1716 <https://github.com/azavea/raster-vision/pull/1716>`__)
- Remove the ``uri`` field from ``VectorOutputConfig`` (`1762 <https://github.com/azavea/raster-vision/pull/1762>`__)
- Fix bugs related to extent-cropping (`1774 <https://github.com/azavea/raster-vision/pull/1774>`__, `#1786 <https://github.com/azavea/raster-vision/pull/1786>`__, `#1793 <https://github.com/azavea/raster-vision/pull/1793>`__)
- Fix legend placement in ``SemanticSegmentationVisualizer`` plots (`1783 <https://github.com/azavea/raster-vision/pull/1783>`__)
- Misc. refactoring and fixes (`1838 <https://github.com/azavea/raster-vision/pull/1838>`__)
- Update tutorial notebooks + misc. minor changes (`1839 <https://github.com/azavea/raster-vision/pull/1839>`__)
- Improve geometry-related validation in ``Scene`` and ``GeoJSONVectorSource`` and fix a bug in ``AoiSampler`` (`1856 <https://github.com/azavea/raster-vision/pull/1856>`__)
Development/maintenance
~~~~~~~~~~~~~~~~~~~~~~~
- Disable PDF build of docs (`1714 <https://github.com/azavea/raster-vision/pull/1714>`__)
- Improve Codecov exclusion settings, add some more unit tests, and add a unit test README (`1717 <https://github.com/azavea/raster-vision/pull/1717>`__)
- Fix CI errors (`1763 <https://github.com/azavea/raster-vision/pull/1763>`__)
- Factor out numpy-like array indexing implementation and add unit tests (`1765 <https://github.com/azavea/raster-vision/pull/1765>`__)
- Remove deprecated ``codecov`` dependency (`1775 <https://github.com/azavea/raster-vision/pull/1775>`__)
- Add ``CITATION.cff`` (`1789 <https://github.com/azavea/raster-vision/pull/1789>`__, `#1790 <https://github.com/azavea/raster-vision/pull/1790>`__)
- Minor refactoring of ``learner.py`` for readability (`1791 <https://github.com/azavea/raster-vision/pull/1791>`__)
- Conform to new torchvision API for specifying pretrained weights (`1794 <https://github.com/azavea/raster-vision/pull/1794>`__)
- Use more concise cross-referencing syntax in docs (`1809 <https://github.com/azavea/raster-vision/pull/1809>`__)
- Misc. documentation improvements (`1840 <https://github.com/azavea/raster-vision/pull/1840>`__)
- Update dependencies (`1749 <https://github.com/azavea/raster-vision/pull/1749>`__, `#1756 <https://github.com/azavea/raster-vision/pull/1756>`__, `#1760 <https://github.com/azavea/raster-vision/pull/1760>`__, `#1761 <https://github.com/azavea/raster-vision/pull/1761>`__, `#1797 <https://github.com/azavea/raster-vision/pull/1797>`__, `#1798 <https://github.com/azavea/raster-vision/pull/1798>`__, `#1799 <https://github.com/azavea/raster-vision/pull/1799>`__, `#1805 <https://github.com/azavea/raster-vision/pull/1805>`__, `#1811 <https://github.com/azavea/raster-vision/pull/1811>`__)
- Pre-release fixes and improvements (`1857 <https://github.com/azavea/raster-vision/pull/1857>`__)
----