Skip to content

Releases: opendatacube/datacube-ows

OWS Release 1.8.23

08 Dec 21:38
cc363df
Compare
Choose a tag to compare

In addition to the standard animated handlers previously supported by all style types, this release introduces two additional approaches to produce an non-animated image from a multi-date request for colour-map (aka value_map) type styles:

  1. Using a variant of the value_map_ entry used for the single-date case. This is a much simpler way of achieving most use cases.
  2. Using an aggregator function, which allows for fully customisable behaviour but requires writing Python code.

The new behaviour is fully documented here: https://datacube-ows.readthedocs.io/en/latest/cfg_colourmap_styles.html#multi-date-requests

This means that OWS now supports rich comparison visualisation techniques for both contiguous and discrete data products.

Also, the masking rule parser for pq_masks sections now uses the same code as the parser for value_map rules in colour map styles.

This means that:

  1. pq_mask rules now supports and/or operators, consistent with value_map rules.
  2. value_map rules now support the invert operator, consistent with pq_mask rules.
  3. The old "enum" keyword in pq_masks is now deprecated - please now use the values keyword, as in value_maps.

Full details are in the documentation. Old style syntax will continue to work as before - except the enum keyword in pq_masks now produces a deprecated warning message.

Changes in this release:

New Feature:

  • Support for non-animated multi-date handlers for "colour-map" type styles. (#770)
  • Consistent syntax for masking rules in pq_masks and value_map rules (#774)

Bug fixes

  • Fix to bug affecting resource-limiting for WCS (#769)
  • Fix bug in handling of missing data when applying cross-product masking (#772)

Dependency management and release process

  • Remove constraint requiring very recent versions of numpy (#766)
  • Upgrade to Postgis 3.1 (#767)
  • Add automated spell check of documentation to github actions (#775)
  • Increment default version number. (#776)

This release includes contributions from @Kirill888, @NikitaGandhi, @pindge and @SpacemanPaul

OWS Release 1.8.22

11 Nov 01:04
8407df4
Compare
Choose a tag to compare

OWS Release 1.8.22 includes a change to the config manifest json format used by datacube-ows-cfg. System maintainers who use the datacube-ows-cfg -i/-o flags to validate config integrity will need to regenerate their reference manifests.

  • Raise error on duplicate layer names. (#759)
  • Add layer name to config manifest file format (#759)
  • Apply configured http headers to WCS2 GetCoverage responses (#761)
  • Remove and replace tests based on S3FS, removing test dependency on aiobotocore (#762)
  • Prevent non-S3 urls from being followed by config inclusion (#762)
  • Documentation updates (#758)
  • Increment default version number and revive HISTORY.rst (#763)

OWS Releases 1.8.21

21 Oct 00:45
db6df6e
Compare
Choose a tag to compare
  • Allow layers with no extent_mask_function (#739)
  • Eliminate redundant connection pool - use datacube-core connection pool directly (#740)
  • Remove requirements.txt Use setup.py exclusively for dependency management. (#741, #744)
  • Improve docker image efficiency (#743, #745, #746)
  • Fix WCS1 bug affecting requests with no explicit measurements or style (#749)
  • Add $AWS_S3_ENDPOINT to environment variable documentation (#751)
  • Improve Prometheus metrics (#752)
  • Fix function config internal over-writing issue - was causing issues for odc-stats (#754)
  • Increment default version number and switch setuptools_scm to post-release version numbering (#753)

OWS Release 1.8.20

06 Oct 04:21
f39a740
Compare
Choose a tag to compare

WCS enhancements, new docker image, bug fixes, and doc updates.

Please read the release notes before upgrading.

WCS changes

As more in the community are starting to actively use WCS, we are slowly polishing away the rough edges. This release has two changes of interest to OWS administrators who use WCS:

  1. Firstly, the wcs default_bands has been removed. The default behaviour for WCS requests that do not specify bands is now to return all available bands, as specified in the WCS2 standards.

This means that layer-level "wcs" sections is no longer required. If you have any, you will get warning messages. You can ignore these until you are sure that all your server instances have been upgraded to 1.8.20, when it is safe to remove the layer wcs sections from your config to suppress the warning.

2 .Secondly, more options are available for resource limiting in WCS. Refer to the documentation for details:

https://datacube-ows.readthedocs.io/en/latest/cfg_layers.html#resource-limits-wcs

Docker image base change

The Docker images are now based on osgeo/gdal instead of opendatacube/geobase. You may need to tweak your build environment slightly - check your env files against the latest examples.

New in this release

  • Switch docker base image from geobase to osgeo/gdal. (#727)
  • Remove support for wcs default_bands entry (# 725)
  • Extend resource management capabilities for WCS (#730)
  • Fixed several corner-case bugs in the color ramp legend generator (#732)
  • Add chapter on legend generation to HOWTO (#733, #735)
  • Added Security.md file (#734)
  • Other improved documentation (#711)
  • Fix bug affecting layers with no extent mask function. (#737, #739)
  • Increment default version number to 1.8.20 (#738)

OWS release 1.8.19

20 Sep 04:40
0ed9b0a
Compare
Choose a tag to compare

Improved test coverage and documentation; bug fixes; repo cleanup.

  • Improved test coverage (#708, #709, #710)
  • Fixed zero-day bug in WMTS GetFeatureInfo (#708)
  • Improved pylint github action (thanks @pindge). (#713)
  • Cleanup of requirements lists, and removal of old unused files. (#714)
  • Fix platform-dependent numpy.typing import issue (thanks @alexgleith) (#718)
  • Fix two WCS query interpretation bugs (#719)
  • Documentation updates, including a cleanup of the README. (#720)
  • Add support for ows_stats performance diagnostic tool to WMTS and WCS. (#721)
  • Pin s3fs version in requirements.txt for compatibility with odc_tools (#722, #724)
  • Increment version number (#723)

OWS Release 1.8.18

02 Sep 01:40
1a9a4d7
Compare
Choose a tag to compare

Adds support for dynamic credentials for S3 access.

Thanks to @woodcockr, @valpesendorfer and @pindge.

  • Docker-compose fix for v1.29 (#702)
  • Add smart resource management data to ows_stats output (#703)
  • Renewable S3 credentials (#704, #706)
  • Fix bug in direct config inheritance for objects supporting named inheritance (#705)
  • Increment default version number (#707)

OWS release 1.8.17

24 Aug 22:57
4260605
Compare
Choose a tag to compare

Urgent bug-fix release to address a WCS bug.

This release also contains a couple of minor backwards compatibility issues, see below for details.

Version 1.8.18 will probably follow fairly rapidly as there are a couple of other known issues that are actively being worked on, see below for details.

Changes:

  • Cleanup/refactor of styles package: docstrings, type-hints, cleanup and improved test coverage (#695)
  • Change default behaviour of $AWS_NO_SIGN_REQUEST to match the standard default behaviour for boto3-based applications (#696)
  • Fix WCS queries against layers with a flag-band in the main product (#699)
  • Increment version number (#700)

Backward Incompatibilities

  1. #695 removed support for some legacy legend config formats that have been deprecated (and undocumented) for over a year.
  2. #696 changes the default behaviour if $AWS_NO_SIGN_REQUEST is not set. Previously the default behaviour was unsigned requests, it is now signed requests. This was a necessary first-step to supporting dynamic credentials for S3 access, and brings OWS into line with other software using boto3 for S3 access.

Known Issues

  1. There are still issues with WCS queries against layers with a flag-band in the main product. These will be addressed in the next release and should not effect queries generated by the Terria Export function.
  2. Dynamic credentialling for S3 access is still problematic. We have a PR almost ready to merge (#697) but it needs further testing.

OWS release 1.8.16

15 Aug 23:31
aeee428
Compare
Choose a tag to compare

Mostly about implementing smarter resource limiting to make time-series animation production ready.

  • Smarter resource limiting (#686, #689, #690)
  • docker-compose.yml fixes. (#685)
  • Fix typo in .env_ows_root (#683)
  • Remove "experimental" warning on time-series animations (#691)
  • Better error reporting of config error cases potentially caused by easy-to-make typos (#692)
  • Increment version number (#693)

Note the following changes to configuration introduced in this release. Old configurations should continue to work, with the backwards-incompatible exceptions noted below, however you may see warning messages on startup advising which parts of your config are now deprecated and should be updated.

  1. native_crs and native_resolution were previously part of the wcs configuration section of layers, as they were previously only used for generating WCS metadata. They are now also used by the new min_zoom_level resource limit for WMS/WMTS, and have therefore moved out of the wcs section and into the main layer config section. These entries will continue to be read from the old location with a deprecation warning. If present in both locations, the values in the new locations take precedence, and the deprecation warning will still be raised.
  2. There is a new min_zoom_level configuration option, which should be considerably easier to set and use than min_zoom_factor, as well as being much smarter about how resource requirements for request are estimated. min_zoom_factor is still supported, but will be deprecated in a future release.

Backwards Incompatibility Notes

I try to avoid backwards incompatible changes to config format, but some minor ones were unavoidable in this release:

  1. Layers with no CRS and/or resolution defined in the ODC product metadata now ALWAYS require a native CRS and resolution to be defined in configuration. This was previously only the case if WCS was enabled for the layer.
  2. The default resource_limiting behaviour for WMS/WMTS has changed from "min_zoom_factor = 300.0" to "no resource limits". Maintaining backwards compatibility would have resulted in confusing and inconsistent behaviour.

OWS Release 1.8.15

30 Jul 01:52
73c948c
Compare
Choose a tag to compare

1.8.15 introduces experimental* support for time-series animations from WMS/WMTS, in APNG format, and has increased CI test coverage to over 90%.

If you use docker-compose to orchestrate your configuration, you may need to make some changes to your .env file after upgrading to this release. See the updated examples and the documentation for details.

Thanks to all contributors, especially @whatnick for the prototype implementation of time-series animation, and @alexgleith for supplying much needed user-feedback on the CLI interfaces.

(* experimental) = produces a warning message when activated. The existing resource limit implementation is not suitable for production deployment with time-series animations. I hope to address this in the next release.

  • Support for time-series animation APNG output for WMS and WMTS. (#656, #670, #678)
  • User configurable WMS default time (#676)
  • Code cleanup, starting to systematically add type hints and docstrings. (#660, #663, #664, #665, #671)
  • CI enhancements (#662, #672, #674)
  • datacube-ows-update changes to error handling to improve UX for maintainers. (#666, #679)
  • Enhancements to config management in docker-compose. Note that if you use docker-compose, you may need to make some changes to your .env file. See the updated examples and the documentation for details. (#681)
  • Release housekeeping, including incrementing default version number (#682)

OWS Release 1.8.14

09 Jul 06:37
398d872
Compare
Choose a tag to compare
  • Default band names (as exposed by WCS) are now internationalisable (#651)
  • Extent polygon rendering now uses rasterio rasterize, removing the dependency on scikit-image (#655)
  • Calculating GeoTIFF statistics in WCS is now (globally) configurable (#654)
  • Return an empty response if data for any requested dates is not available (#652)/'
  • Bug fix - summary products (time_resolition not raw) were broken in areas close to 0 longitude. (e.g. Africa) (#657)
  • Increment default version number (#658)