Skip to content

Latest commit

 

History

History
328 lines (212 loc) · 16.3 KB

CHANGELOG.md

File metadata and controls

328 lines (212 loc) · 16.3 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[Unreleased]

Added

  • Add support for comparison operators (<, >, <= and >=) in callback process building
  • Added Connection.describe_process() to retrieve and show a single process

Changed

  • Include openEO API error id automatically in exception message to simplify user support and post-mortem analysis.

Removed

  • Removed deprecated 'zonal_statistics' method from the 1.x version of the API.

Fixed

[0.9.2] - 2022-01-14

Added

  • Add experimental support for chunk_polygon process (Open-EO/openeo-processes#287)
  • Add support for spatial_extent, temporal_extent and bands to Connection.load_result()
  • Setting the environment variable OPENEO_BASEMAP_URL allows to set a new templated URL to a XYZ basemap for the Vue Components library, OPENEO_BASEMAP_ATTRIBUTION allows to set the attribution for the basemap (#260)
  • Initial support for experimental "federation:missing" flag on partial openEO Platform user job listings (Open-EO/openeo-api#419)
  • Best effort detection of mistakenly using Python builtin sum or all functions in callbacks (Forum #113)
  • Automatically print batch job logs when job doesn't finish successfully (using execute_batch/run_synchronous/start_and_wait).

[0.9.1] - 2021-11-16

Added

  • Add options argument to DataCube.atmospheric_correction (Open-EO/openeo-python-driver#91)
  • Add atmospheric_correction_options and cloud_detection_options arguments to DataCube.ard_surface_reflectance (Open-EO/openeo-python-driver#91)
  • UDP storing: add support for "returns", "categories", "examples" and "links" properties (#242)
  • Add openeo.extra.spectral_indices: experimental API to easily compute spectral indices (vegetation, water, urban, ...) on a DataCube, using the index definitions from Awesome Spectral Indices

Changed

  • Batch job status poll loop: ignore (temporary) "service unavailable" errors (Open-EO/openeo-python-driver#96)
  • Batch job status poll loop: fail when there are too many soft errors (temporary connection/availability issues)

Fixed

  • Fix DataCube.ard_surface_reflectance() to use process ard_surface_reflectance instead of atmospheric_correction

[0.9.0] - 2021-10-11

Added

  • Add command line tool openeo-auth token-clear to remove OIDC refresh token cache
  • Add support for OIDC device authorization grant without PKCE nor client secret, (#225, openeo-api#410)
  • Add DataCube.dimension_labels() (EP-4008)
  • Add Connection.load_result() (EP-4008)
  • Add proper support for child callbacks in fit_curve and predict_curve (#229)
  • ProcessBuilder: Add support for array_element(data, n) through data[n] syntax (#228)
  • ProcessBuilder: Add support for eq and neq through == and != operators (EP-4011)
  • Add DataCube.validate() for process graph validation (EP-4012 related)
  • Add Connection.as_curl() for generating curl command to evaluate a process graph or DataCube from the command line
  • Add support in DataCube.download() to guess output format from extension of a given filename

Changed

  • Improve default handling of crs (and base/height) in filter_bbox: avoid explicitly sending null unnecessarily (#233).
  • Update documentation/examples/tests: EPSG CRS in filter_bbox should be integer code, not string (#233).
  • Raise ProcessGraphVisitException from ProcessGraphVisitor.resolve_from_node() (instead of generic ValueError)
  • DataCube.linear_scale_range is now a shortcut for DataCube.apply(lambda x:x.x.linear_scale_range( input_min, input_max, output_min, output_max)).
    Instead of creating an invalid process graph that tries to invoke linear_scale_range on a datacube directly.
  • Nicer error message when back-end does not support basic auth (#247)

Removed

  • Remove unused and outdated (0.4-style) File/RESTFile classes (#115)
  • Deprecate usage of DataCube.graph property (#209)

[0.8.2] - 2021-08-24

Minor release to address version packaging issue.

[0.8.1] - 2021-08-24

Added

  • Support nested callbacks inside array arguments, for instance in array_modify, array_create
  • Support array_concat
  • add ProcessGraphUnflattener and PGNodeGraphUnflattener to unflatten a flat dict representation of a process graph to a PGNode graph (EP-3609)
  • Add Connection.datacube_from_flat_graph and Connection.datacube_from_json to construct a DataCube from flat process graph representation (e.g. JSON file or JSON URL) (EP-3609)
  • Add documentation about UDP unflattening and sharing (EP-3609)
  • Add fit_curve and predict_curve, two methods used in change detection

Changed

  • Update processes.py based on 1.1.0 release op openeo-processes project
  • processes.py: include all processes from "proposals" folder of openeo-processes project
  • Jupyter integration: Visual rendering for process graphs shown instead of a plain JSON representation.
  • Migrate from Travis CI to GitHub Actions for documentation building and unit tests (#178, EP-3645)

Removed

  • Removed unit test runs for Python 3.5 (#210)

[0.8.0] - 2021-06-25

Added

  • Allow, but raise warning when specifying a CRS for the geometry passed to aggregate_spatial and mask_polygon, which is non-standard/experimental feature, only supported by specific back-ends (#204)
  • Add optional argument to Parameter and fix re-encoding parameters with default value. (EP-3846)
  • Add support to test strict equality with ComparableVersion
  • Jupyter integration: add rich HTML rendering for more backend metadata (Job, Job Estimate, Logs, Services, User-Defined Processes)
  • Add support for filter_spatial
  • Add support for aggregate_temporal_period
  • Added class Service for secondary web-services
  • Added a method service to Connection
  • Add Rfc3339.parse_date and Rfc3339.parse_date_or_datetime

Changed

  • Disallow redirects on POST/DELETE/... requests and require status code 200 on POST /result requests. This improves error information where POST /result would involve a redirect. (EP-3889)
  • Class JobLogEntry got replaced with a more complete and re-usable LogEntry dict
  • The following methods return a Service class instead of a dict: tiled_viewing_service in ImageCollection, ImageCollectionClient and DataCube, create_service in Connection

Deprecated

  • The method remove_service in Connection has been deprecated in favor of delete_service in the Service class

[0.7.0] - 2021-04-21

Added

Changed

  • Eliminate development/optional dependency on openeo_udf project (#159, #190, EP-3578). Now the openEO client library itself contains the necessary classes and implementation to run UDF code locally.

Fixed

  • Connection: don't send default auth headers to non-backend domains (#201)

[0.6.1] - 2021-03-29

Changed

  • Improve OpenID Connect usability on Windows: don't raise exception on file permissions that can not be changed (by os.chmod on Windows) (#198)

[0.6.0] - 2021-03-26

Added

  • Add initial/experimental support for OIDC device code flow with PKCE (alternative for client secret) (#191 / EP-3700)
  • When creating a connection: use "https://" by default when no protocol is specified
  • DataCube.mask_polygon: support Parameter argument for mask
  • Add initial/experimental support for default OIDC client (#192, Open-EO/openeo-api#366)
  • Add Connection.authenticate_oidc for user-friendlier OIDC authentication: first try refresh token and fall back on device code flow
  • Add experimental support for array_modify process (Open-EO/openeo-processes#202)

Removed

  • Remove old/deprecated Connection.authenticate_OIDC()

[0.5.0] - 2021-03-17

Added

  • Add namespace support to DataCube.process, PGNode, ProcessGraphVisitor (minor API breaking change) and related. Allows building process graphs with processes from non-"backend" namespaces (#182)
  • collection_items to request collection items through a STAC API
  • paginate as a basic method to support link-based pagination
  • Add namespace support to Connection.datacube_from_process
  • Add basic support for band name aliases in metadata.Band for band index lookup (EP-3670)

Changed

  • OpenEoApiError moved from openeo.rest.connection to openeo.rest
  • Added HTML representation for list_jobs, list_services, list_files and for job results
  • Improve refresh token handling in OIDC logic: avoid requesting refresh token (which can fail if OIDC client is not set up for that) when not necessary (EP-3700)
  • RESTJob.start_and_wait: add status line when sending "start" request, and drop microsecond resolution from status lines

Fixed

  • Updated Vue Components library (solves issue with loading from slower back-ends where no result was shown)

[0.4.10] - 2021-02-26

Added

  • Add "reflected" operator support to ProcessBuilder
  • Add RESTJob.get_results(), JobResults and ResultAsset for more fine-grained batch job result handling. (EP-3739)
  • Add documentation on batch job result (asset) handling and downloading

Changed

  • Mark Connection.imagecollection more clearly as deprecated/legacy alias of Connection.load_collection
  • Deprecated job_results() and job_logs() on Connection object, it's better to work through RESTJob object.
  • Update DataCube.sar_backscatter to the latest process spec: add coefficient argument and remove orthorectify, rtc. (openeo-processes#210)

Removed

  • Remove outdated batch job result download logic left-overs
  • Remove (outdated) abstract base class openeo.job.Job: did not add value, only caused maintenance overhead. (#115)

[0.4.9] - 2021-01-29

Added

  • Make DataCube.filter_bbox() easier to use: allow passing a bbox tuple, list, dict or even shapely geometry directly as first positional argument or as bbox keyword argument. Handling of the legacy non-standard west-east-north-south positional argument order is preserved for now (#136)
  • Add "band math" methods DataCube.ln(), DataCube.logarithm(base), DataCube.log10() and DataCube.log2()
  • Improved support for creating and handling parameters when defining user-defined processes (EP-3698)
  • Initial Jupyter integration: add rich HTML rendering of backend metadata (collections, file formats, UDF runtimes, ...) (#170)
  • add resolution_merge process (experimental) (EP-3687, openeo-processes#221)
  • add sar_backscatter process (experimental) (EP-3612, openeo-processes#210)

Fixed

  • Fixed 'Content-Encoding' handling in Connection.download: client did not automatically decompress /result responses when necessary (#175)

[0.4.8] - 2020-11-17

Added

  • Add DataCube.aggregate_spatial()

Changed

  • Get/create default RefreshTokenStore lazily in Connection
  • Various documentation tweaks

[0.4.7] - 2020-10-22

Added

  • Add support for title/description/plan/budget in DataCube.send_job (#157 / #158)
  • Add DataCube.to_json() to easily get JSON representation of a DataCube
  • Allow to subclass CollectionMetadata and preserve original type when "cloning"

Changed

  • Changed execute_batch to support downloading multiple files (within EP-3359, support profiling)
  • Don't send None-valued title/description/plan/budget fields from DataCube.send_job (#157 / #158)

Removed

  • Remove duplicate and broken Connection.list_processgraphs

Fixed

  • Various documentation fixes and tweaks
  • Avoid merge_cubes warning when using non-band-math DataCube operators

[0.4.6] - 2020-10-15

Added

  • Add DataCube.aggregate_temporal
  • Add initial support to download profiling information

Changed

  • Deprecated legacy functions/methods are better documented as such and link to a recommended alternative (EP-3617).
  • Get/create default AuthConfig in Connection lazily (allows client to run in environments without existing (default) config folder)

Deprecated

  • Deprecate zonal_statistics in favor of aggregate_spatial

Removed

  • Remove support for old, non-standard stretch_colors process (Use linear_scale_range instead).

[0.4.5] - 2020-10-01

Added

  • Also handle dict arguments in dereference_from_node_arguments (EP-3509)
  • Add support for less/greater than and equal operators
  • Raise warning when user defines a UDP with same id as a pre-defined one (EP-3544, #147)
  • Add rename_labels support in metadata (EP-3585)
  • Improve "callback" handling (sub-process graphs): add predefined callbacks for all official processes and functionality to assemble these (EP-3555, #153)
  • Moved datacube write/save/plot utilities from udf to client (EP-3456)
  • Add documentation on OpenID Connect authentication (EP-3485)

Fixed

  • Fix kwargs handling in TimingLogger decorator

[0.4.4] - 2020-08-20

Added

  • Add openeo-auth command line tool to manage OpenID Connect (and basic auth) related configs (EP-3377/EP-3493)
  • Support for using config files for OpenID Connect and basic auth based authentication, instead of hardcoding credentials (EP-3377/EP-3493)

Fixed

  • Fix target_band handling in DataCube.ndvi (EP-3496)