Releases: opendatacube/datacube-ows
Datacube OWS 1.8.36
Another maintenance release.
Addresses several issues with the Docker build in 1.8.35, and makes the behaviour of the PYDEV_DEBUG environment variable less surprising.
Note that flask-log-request-id
has been removed as a dependency as it is now orphaned and no longer supports the latest versions of Flask. This means that the X-REQUEST-ID
header is no longer being set in OWS http responses. If you were using this feature in your OWS deployment, please raise an Issue on Github and we will look into alternative methods of setting the header in the next release.
Datacube OWS 1.8.35
OWS Release 1.8.34
This OWS release includes two significant new features:
-
Timeless mosaic layers.
The new
mosaic_date_func
configuration option allows the creation of timeless (i.e. single time-slice)
layers. The user-provided function returns the start/end date to use for dataset date searches, and a
mosaic layer is generated, with the most recent available date for any given pixel returned. -
Enhanced time resolution handling (subday and overlapping summary periods).
Major refactor of time resolution handling.
There are now only 3 time resolution options:
solar: Replaces the old "raw" option. Local-solar-day time model, used for imagery captured in daily swathes
by satellites in heliosynchronous orbits.summary: Replaces the old "day", "month", and "year" options. Only looks at the "start" datetime, and
so neatly supports products with overlapping or non-exclusive dataset date-ranges. Expects the time portion
of the start date to always be "midnight UTC". Used for summary/calculated products.subday: New option. Used for for products with multiple time values per day (e.g. hourly/minutely data). Uses
the "start" datetime of the dataset.Note that the solar and summary options explicitly ignore the time component of the time query parameter
passed by the user. If you need the time component to be significant, you must use subday.The old "raw", "day", "month", "year" time_resolution options are still supported as aliases for the new
values above. A deprecation warning will be issued advising you to update your configuration to the new
values, but the old values will continue to work. You should not actually move your configuration to
the new values until after all of your deployment environments have been upgraded v1.8.34.
Full list of changes:
- Increment default version number and update version history (#937)
- Enhanced time resolution handling (subday and overlapping summary periods) (#933, #936)
- Add spellcheck to RST documentation (#929, #930)
- Implement timeless mosaic layers (#928)
- Refactor integration tests to use new collection DEA data (#927)
- Bump datacube-core version (#923, #927, #933)
- Miscellaneous cleanup and code-maintenance (#922)
- Pre-commit auto-updates (#920, #926, #932, #934)
OWS Release 1.8.33
Includes fixes for several closely related WCS bugs, some WCS2 specific, some affecting both.
Full list of changes:
OWS Release 1.8.32
Mostly administrative changes, with one bug fix to WCS DescribeCoverage metadata (for both v1 and v2).
Please note that this bug fix now validates the signs of native_resolution
. Almost all CRS's require a resolution with a negative y component. (E.g. (30, -30)
for Landsat in an equal-area projection like EPSG:3577.) Previously a y-resolution of the wrong sign would be accepted, with the only adverse consequence being an invalid grid definition in WCS DescribeCoverage documents. Now a y-resolution with the incorrect sign will raise an error on startup., resulting in the affected layer(s) being deactivated.
Full list of changes:
- Add datacube pypi badge (#891)
- Pre-commit auto-updates (#894, #899, #906)
- Github action update (#896)
- Documentation updates (#898, #903, #904)
- WCS grid counts and add checks for sign errors in native resolution (#902)
- Match docker image version numbers to github SCM version numbers (#907, #908, #909)
- Update default version number and HISTORY.rst (#910)
Contributions from @pindge and @SpacemanPaul (and of course, the pre-commit-ci bot).
OWS Release 1.8.31
Full list of changes:
- Added pre_scaled_norm_diff to band_utils.py, allowing calculation of normalised difference calculations on
data that is scaled with an offset. (#881) - Add support for url patching - allowing OWS to serve data from commercial data repositories that use
uri signing for authentication (e.g. Microsoft Planetary Computer) (#883) - Further refinements to Sentry logging. (#884)
- Improve interoperability with Jupyter Notebooks. (#886)
- Allow band aliases for Flag Bands taken from main product(s). (#887)
- Add new metadata type to MV definitions, to support DEA Sentinel-2 Collection 3. (#888)
- Add support for html info_format for GetFeatureInfo queries in WMS and WMTS - may improve ArcGIS
compatibility. (#889) - Updates to HISTORY.rst, README.rst and default version string for release (#890)
Contributions from @pindge, @rtaib and @SpacemanPaul.
OWS Release 1.8.30
Minor release, consisting of better Sentry reporting for production deployments, and routine repository
maintainance.
Full list of changes:
- Update code-of-conduct.md to refer to current ODC Steering Council chair (#862)
- Fixes to docker-compose files and github workflows (#864, #866, )
- Simplify and cleanup scripts and config to create database for integration tests (#865, #871)
- Change interpretation of Sentry environment variables to allow Sentry reporting to any hosted Sentry service (#868, #877)
- Prevent mysterious Shapely warning message from clogging up Sentry logs (#873)
- Minor tweaks to aid trouble-shooting and better support local deployments (#878)
- Updates to HISTORY.rst, README.rst and default version string for release (#879)
Contributions from @pindge and @SpacemanPaul.
OWS Release 1.8.29
This release includes support for heterogenous multi-product layers (single layers that combine data from satellite platforms that may have different bands or native resolutions - e.g. Sentinel-2 plus Landsat), an upgrade to the docker container (now based on Ubuntu 22.04, with Python 3.10), plus documentation updates and bug fixes.
Full list of changes:
- Enhancements to support heterogenous multi-product layers (#837, #841, #844)
- Refactor data for integration test fixtures (#835)
- Docker image migrated to Python3.10/Ubuntu-22.040-based osgeo/gdal base image, and updates to dependencies (#838, #843, #852, #854, #856, #859)
- Isolate ops imports to minimise dependencies for appliations only using the styling API (#855)
- Documentation updates and improvements (#846, #847, #848, #849)
- Bug Fix: Skip cached bounding boxes when layer extent is entirely outside the valid region for the CRS (#832)
- Bug Fix: Invalid version parameters in otherwise valid requests were failing with unhandled 500 errors. OWS now makes a best-effort guess in this case, tending towards the lowest supported version (#850)
- Bug Fix: response_crs parameter was not being handled correctly by WCS1 (#858)
- Updates to HISTORY.rst and default version string for release (#860)
This release includes contributions from @SpacemanPaul, and @pindge.
OWS Release 1.8.28
This release introduces changes to both the materialised view definitions and the datacube-ows-update
utility to improve the accuracy and reliability of these extents, as well as bug fixes for
externally-hosted legend images.
This release includes:
- A bug fix to the OWS code which reads from the materialised views, preventing runtime errors
from occurring in scenarios where accurate extent information is not available (#825) - Enhancements to the materialised view definitions to support extracting extent polygons
from various optional metadata locations in both EO and EO3 based products. (#826) - Sanity-check and sanitise bounding box ranges for global datasets. It should now be
possible to use datasets with bounding box(-180, -90, 180, 90, crs=EPSG:4326)
in
OWS. Previously this required hacking the metadata to result in e.g.
(-179.9999, -89.9999, 179.999, 89.999, crs=EPSG:4326)
(#828) - Usability improvements for external legends. Clearer reporting of read errors on external
urls, and raise warning instead of failing if external image format is not PNG. (#829) - Update HISTORY.rst and default version number (#830)
Upgrade notes
To enjoy all the advantages of these extent handling enhancements you will need to
run the following command, using a database role capable of altering the schema::
datacube-ows-update --schema --role role_to_grant_access_to
After regenerating the schema, the range tables should also be updated::
datacube-ows-update
(Note that there is no need to run datacube-ows-update
with the --views
option in between these
two steps.)
Acknowledgements
Thanks to @Kirill888 , @pindge , @alexgleith and @valpesendorfer for indirect contributions, major and minor, and to Geoscience Australia for their continuing support of OWS and the Open Data Cube.
OWS Release 1.8.27
Several bugfixes, and documentation updates plus we had to change our CI test data because the old USGS Landsat PDS went user-pays.
Cache-control hints can now be configured for the XML requests (GetCapabilities, DescribeCoverage). WMS and WCS GetCapabilities can be configured separately. WCS DescribeCoverage can be configured globally and optionally over-ridden per layer/coverage. Refer to the documentation for details:
https://datacube-ows.readthedocs.io/en/latest/cfg_wms.html#getcapabilities-cache-control-headers-caps-cache-maxage
https://datacube-ows.readthedocs.io/en/latest/cfg_wcs.html#getcapabilities-cache-control-headers-caps-cache-maxage
https://datacube-ows.readthedocs.io/en/latest/cfg_layers.html#cache-control-dataset-cache-rules-and-describe-cache-maxage
Full list of changes since 1.8.26:
- Bug fix: Multidate NetCDF requests were broken in both WCS1 and WCS2- now fixed (#799)
- int8 added as a supported dtype (#801, #802)
- Logging updated to include remote IP (#808,#811,#818)
- Documentation updates (#810, #819, #820)
- Replace USGS Landsat data with Sentinel-2 data for CI integration testing. (#812, #817)
- Bug fix: Manual merge where no extent mask function was broken (#817)
- Cache-control hints for XML requests (GetCapabilities/DescribeCoverage) (#821, #822)
- Update HISTORY.rst and default version number (#823)