Releases: opendatacube/datacube-ows
OWS Release 1.8.23
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:
- 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.
- 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:
pq_mask
rules now supports and/or operators, consistent withvalue_map
rules.value_map
rules now support theinvert
operator, consistent withpq_mask
rules.- The old "enum" keyword in
pq_masks
is now deprecated - please now use thevalues
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
andvalue_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
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
- 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
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:
- 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
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
Adds support for dynamic credentials for S3 access.
Thanks to @woodcockr, @valpesendorfer and @pindge.
OWS release 1.8.17
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
- #695 removed support for some legacy legend config formats that have been deprecated (and undocumented) for over a year.
- #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
- 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.
- 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
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.
native_crs
andnative_resolution
were previously part of thewcs
configuration section of layers, as they were previously only used for generating WCS metadata. They are now also used by the newmin_zoom_level
resource limit for WMS/WMTS, and have therefore moved out of thewcs
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.- There is a new
min_zoom_level
configuration option, which should be considerably easier to set and use thanmin_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:
- 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.
- 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
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
- 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)