Skip to content

Commit 1881dae

Browse files
authored
Merge pull request #582 from Open-EO/draft
Release v1.3.0
2 parents c5a45b4 + a2efa34 commit 1881dae

File tree

21 files changed

+1331
-405
lines changed

21 files changed

+1331
-405
lines changed

.github/workflows/docs.yml

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,13 @@ jobs:
1111
runs-on: ubuntu-latest
1212
steps:
1313
- name: Inject env variables
14-
uses: rlespinasse/github-slug-action@v3.x
15-
- uses: actions/setup-node@v3
14+
uses: rlespinasse/github-slug-action@v5
15+
- uses: actions/setup-node@v5
1616
with:
1717
node-version: 'lts/*'
18-
- uses: actions/checkout@v3
19-
- run: |
20-
npm install
21-
npm run build
18+
- uses: actions/checkout@v5
19+
- run: npm install
20+
- run: npm run build
2221
- name: clone gh-pages and clean-up
2322
if: ${{ env.GITHUB_REF_SLUG == 'master' }}
2423
run: |
@@ -29,11 +28,12 @@ jobs:
2928
if: ${{ env.GITHUB_REF_SLUG != 'master' }}
3029
run: mkdir gh-pages
3130
- run: |
32-
cp redoc.html gh-pages/index.html
31+
cp *.html gh-pages/
3332
cp errors.json gh-pages/errors.json
33+
cp openapi.yaml gh-pages/openapi.yaml
3434
cp -rv assets/. gh-pages/assets/
3535
- name: deploy to root (master)
36-
uses: peaceiris/actions-gh-pages@v3
36+
uses: peaceiris/actions-gh-pages@v4
3737
if: ${{ env.GITHUB_REF_SLUG == 'master' }}
3838
with:
3939
github_token: ${{ secrets.GITHUB_TOKEN }}
@@ -42,7 +42,7 @@ jobs:
4242
user_name: 'openEO CI'
4343
user_email: openeo.ci@uni-muenster.de
4444
- name: deploy to ${{ env.GITHUB_REF_SLUG }}
45-
uses: peaceiris/actions-gh-pages@v3
45+
uses: peaceiris/actions-gh-pages@v4
4646
if: ${{ env.GITHUB_REF_SLUG != 'master' }}
4747
with:
4848
github_token: ${{ secrets.GITHUB_TOKEN }}

.github/workflows/tests.yml

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,9 @@ jobs:
44
deploy:
55
runs-on: ubuntu-latest
66
steps:
7-
- uses: actions/setup-node@v3
7+
- uses: actions/setup-node@v5
88
with:
99
node-version: 'lts/*'
10-
- uses: actions/checkout@v3
11-
- name: Run tests
12-
run: |
13-
npm install
14-
npm test
10+
- uses: actions/checkout@v5
11+
- run: npm install
12+
- run: npm test

.gitignore

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
1-
__pycache__/
2-
package-lock.json
3-
node_modules/
4-
/redoc.html
5-
.vscode
6-
.idea
1+
package-lock.json
2+
/node_modules/
3+
/*.html
4+
.vscode
5+
.idea

.redocly.lint-ignore.yaml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
openapi.yaml:
2+
no-required-schema-properties-undefined:
3+
- '#/components/schemas/dimension_spatial_horizontal/allOf/1/required/0'
4+
- '#/components/schemas/dimension_spatial_vertical/allOf/1/anyOf/0/required/0'
5+
- '#/components/schemas/dimension_spatial_vertical/allOf/1/anyOf/1/required/0'
6+
- '#/paths/~1jobs~1{job_id}~1estimate/get/responses/200/content/application~1json/schema/anyOf/0/required/0'
7+
- '#/paths/~1jobs~1{job_id}~1estimate/get/responses/200/content/application~1json/schema/anyOf/1/required/0'
8+
- '#/paths/~1jobs~1{job_id}~1estimate/get/responses/200/content/application~1json/schema/anyOf/2/required/0'

.redocly.yaml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
extends:
2+
- recommended
3+
4+
openapi:
5+
expandResponses: "200,201,202,203,204"
6+
pathInMiddlePanel: true
7+
8+
apis:
9+
core:
10+
root: ./openapi.yaml
11+
commercial-data:
12+
root: ./extensions/commercial-data/openapi.yaml
13+
processing-parameters:
14+
root: ./extensions/processing-parameters/openapi.yaml
15+
workspaces:
16+
root: ./extensions/workspaces/openapi.yaml

.spectral.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ rules:
88
tag-description: true
99
oas3-parameter-description: true
1010
oas3-unused-component: false # Broken: https://github.com/stoplightio/spectral/issues/1271
11+
array-items: false
1112
operation-summary-formatted:
1213
description: Operation `summary` should start with upper case and not end with a dot.
1314
given: '$.paths.*[?( @property === ''get'' || @property === ''put'' || @property === ''post'' || @property === ''delete'' || @property === ''options'' || @property === ''head'' || @property === ''patch'' || @property === ''trace'' )]'

CHANGELOG.md

Lines changed: 61 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,69 @@ All notable changes to this project will be documented in this file.
44
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
55
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
66

7-
## Unreleased / Draft
7+
## [Unreleased] / Draft
88

9-
## [1.2.0] - 2021-05-31
9+
### Added
10+
11+
### Deprecated
12+
13+
### Changed
14+
15+
### Fixed
16+
17+
## [1.3.0] - 2026-02-02
18+
19+
### Added
20+
21+
- **New extensions:**
22+
- [Remote Process Definition Extension](./extensions/remote-process-definition/README.md)
23+
- [Processing Parameters Extension](./extensions/processing-parameters/README.md)
24+
- [Workspaces Extension](./extensions/workspaces/README.md)
25+
- `GET /`: New relation type `web-editor` [#577](https://github.com/Open-EO/openeo-api/issues/577)
26+
- `GET /credentials/oidc`: Added `authorization_parameters` property to enforce specific parameters for the authorization endpoint [#534](https://github.com/Open-EO/openeo-api/issues/534)
27+
- `POST /result`: Added response header "OpenEO-Identifier" to expose an identifier associated with a synchronous processing request.
28+
- Added `stacktrace` to log entries (e.g. for `GET /jobs/{job_id}/logs`) [#512](https://github.com/Open-EO/openeo-api/issues/512)
29+
- Added `version` property to `GET /processes` [#517](https://github.com/Open-EO/openeo-api/issues/517)
30+
- Added `queued`, `started` and `unpublished` to the batch job metadata and the corresponding STAC results [#542](https://github.com/Open-EO/openeo-api/issues/542)
31+
- Added a status diagram that explains the status changes of batch jobs [#436](https://github.com/Open-EO/openeo-api/issues/436)
32+
- Added all the batch job timestamps (including the new timestamps above) to the Collection type of batch job results
33+
- Support for standard JSON Web Tokens (JWT) being used as Bearer tokens [#558](https://github.com/Open-EO/openeo-api/issues/558)
34+
35+
### Deprecated
36+
37+
- Deprecated the openEO-specific Bearer token format (authentication mechanism/provider id/access token) [#558](https://github.com/Open-EO/openeo-api/issues/558)
38+
- STAC 0.9.x
39+
40+
### Changed
41+
42+
- Updated Federation Extension to v0.2.0
43+
- Migrate from openEO-specific tokens to JWT, i.e. deprecating the openEO-specific format in favor of JWT [#558](https://github.com/Open-EO/openeo-api/issues/558)
44+
- `GET /`: Requires the fields `type` and `conformsTo`
45+
- `GET /udf_runtimes`: Requires at least one UDF runtime to be provided. [#511](https://github.com/Open-EO/openeo-api/issues/511)
46+
47+
### Fixed
48+
49+
- `GET /conformance`: Added missing security definitions
50+
- `GET /file_formats`: Base parameter on top of normal JSON Schema, not Process JSON Schema
51+
- `PATCH /services/{service_id}` and `PATCH /jobs/{job_id}`: Explicitly allow updating back-end specific properties (as in `POST`)
52+
- `GET /services/{service_id}` and `GET /jobs/{job_id}`: Explicitly allow listing back-end specific properties (as provided in `POST`)
53+
- `GET /jobs/{job_id}/results`: Clarify that signed URLs (used as "canonical" link) should be regenerated each time.
54+
- `GET /jobs/{job_id}/results`: Clarify that "canonical" job result link should include/encode the original query parameters
55+
- Clarified for log levels which default values apply
56+
- Clarified how the relation types `license`, `version-history` and `author` can be used to enrich the process metadata. [#531](https://github.com/Open-EO/openeo-api/issues/531)
57+
- Clarified the behaviour of `federation:backends` for `POST /validation`
58+
- Clarified the meaning of `expires` in batch job results
59+
- Clarified that `last_successful_check` (from Federation Extension) can be null.
60+
- Clarified the relation between result and end nodes, the usage of the result flag, and the relation between the outermost ("root") and child process graphs [#547](https://github.com/Open-EO/openeo-api/issues/547)
61+
- Fixed various OpenAPI issues reported by redocly lint
62+
63+
## [1.2.0] - 2021-05-25
1064

1165
### Added
1266

1367
- **New extensions:**
14-
- [Commercial Data Extension](./extensions/commercial-data/README.md)
15-
- [Federation Extension](./extensions/federation/README.md)
68+
- [Commercial Data Extension](./extensions/commercial-data/README.md)
69+
- [Federation Extension](./extensions/federation/README.md)
1670
- `GET /`: New Relation types: [#404](https://github.com/Open-EO/openeo-api/issues/404)
1771
- `create-form` to link to the registration page
1872
- `recovery-form` to link to the credentials recovery page.
@@ -24,9 +78,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
2478
- Recommendation to add a link with relation type `canonical` which points to a signed URL with the same content as the response. [#397](https://github.com/Open-EO/openeo-api/issues/397)
2579
- Added metadata field `openeo:status` to indicate the job status (and whether the result is complete or not).
2680
- Added parameter `partial` to allow retrieving incomplete results, which must also add the new property `openeo:status` to the metadata. [#430](https://github.com/Open-EO/openeo-api/issues/430)
27-
- `GET /jobs/{job_id}/logs`, `GET /services/{service_id}/logs`: Added `level` parameter to requests to set the minimum log level returned by the response. [#485](https://github.com/Open-EO/openeo-api/issues/485)
81+
- `GET /jobs/{job_id}/logs`, `GET /services/{service_id}/logs` and `POST /result`: Added `level` parameter to requests to set the minimum log level returned by the response. [#485](https://github.com/Open-EO/openeo-api/issues/485)
2882
- Added property `log_level` to secondary web service, batch job and synchronous processing endpoints to indicate the minimum severity level that should be stored for logs. [#329](https://github.com/Open-EO/openeo-api/issues/329)
29-
- `GET /jobs/{job_id}/logs`, `GET /services/{service_id}/logs` and `POST /result`: Added `level` property in responses to reflect the minimum log level that may appear in the response. [#329](https://github.com/Open-EO/openeo-api/issues/329)
83+
- `GET /jobs/{job_id}/logs`, `GET /services/{service_id}/logs`: Added `level` property in responses to reflect the minimum log level that may appear in the response. [#329](https://github.com/Open-EO/openeo-api/issues/329)
3084
- Recommendation to add media types and titles to links for a better user experience.
3185
- Allow the relation type `canonical` to be used generally for (shared) resources (e.g. UDPs or batch jobs) without requiring Bearer authentication. [#405](https://github.com/Open-EO/openeo-api/issues/405)
3286
- Recommendation for UDF runtime names. [#409](https://github.com/Open-EO/openeo-api/issues/409)
@@ -431,6 +485,7 @@ Initial version.
431485

432486

433487
[Unreleased]: <https://github.com/Open-EO/openeo-api/compare/master...dev>
488+
[1.3.0]: <https://github.com/Open-EO/openeo-api/compare/1.2.0...1.3.0>
434489
[1.2.0]: <https://github.com/Open-EO/openeo-api/compare/1.1.0...1.2.0>
435490
[1.1.0]: <https://github.com/Open-EO/openeo-api/compare/1.0.1...1.1.0>
436491
[1.0.1]: <https://github.com/Open-EO/openeo-api/compare/1.0.0...1.0.1>

README.md

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,13 @@ openEO develops an open API to connect R, Python and JavaScript clients to big E
66

77
## Versions / Branches
88

9-
The [master branch](https://github.com/Open-EO/openeo-api/tree/master) is the 'stable' version of the openEO API specification. It is currently version **1.2.0** of the specification. The [draft branch](https://github.com/Open-EO/openeo-api/tree/draft) is where active development takes place.
9+
The [master branch](https://github.com/Open-EO/openeo-api/tree/master) is the 'stable' version of the openEO API specification. It is currently version **1.3.0** of the specification. The [draft branch](https://github.com/Open-EO/openeo-api/tree/draft) is where active development takes place.
1010

1111
| Version / Branch | Status | Description |
1212
| --------------------------------------------------------- | ----------- | ----------- |
1313
| [draft](https://api.openeo.org/draft) | planned | *Unstable* - Next version. |
14-
| [**1.2.0**](https://api.openeo.org) | **current** | Clarifications, new extensions, vector data cubes, STAC (API) updates, more link relation types, improved batch job results and logs. [Changelog](CHANGELOG.md#120---2023-05-31). |
14+
| [**1.3.0**](https://api.openeo.org) | **current** | Clarifications, Remote Process Definition and Processing Parameters extensions, new token format, batch job improvements, etc. [Changelog](CHANGELOG.md#130---2026-02-02). |
15+
| [1.2.0](https://api.openeo.org/1.2.0) | legacy | Clarifications, Commercial Data and Federation extensions, vector data cubes, STAC (API) updates, more link relation types, improved batch job results and logs. [Changelog](CHANGELOG.md#120---2023-05-31). |
1516
| [1.1.0](https://api.openeo.org/1.1.0) | legacy | Clarifications, STAC updates, return value for child processes, more details for logs and jobs, default clients for OIDC. [Changelog](CHANGELOG.md#110---2021-06-15). |
1617
| [1.0.1](https://api.openeo.org/1.0.1) | legacy | Clarifications, bugfixes and CORS improvements. [Changelog](CHANGELOG.md#101---2020-12-07). |
1718
| [1.0.0](https://api.openeo.org/1.0.0) | legacy | First stable version of openEO. [Changelog](CHANGELOG.md#100---2020-07-17). |
@@ -29,10 +30,13 @@ See also the [changelog](CHANGELOG.md) and the [milestones](https://github.com/O
2930

3031
## Extensions
3132

32-
| Name | Version | Stability | Description |
33-
| ---------------------------------------------- | ------- | ------------ | ----------- |
34-
| [Commercial Data](extensions/commercial-data/) | 0.1.0 | experimental | Provides an interface for discovering, ordering and using commercial data. |
35-
| [Federation](extensions/federation/) | 0.1.0 | experimental | Covers federation aspects, i.e. where multiple back-ends are exposed as a single API. |
33+
| Name | Version | Stability | Description |
34+
| ------------------------------------------------------------------ | ------- | ------------ | ----------- |
35+
| [Commercial Data](extensions/commercial-data/) | 0.1.0 | experimental | Provides an interface for discovering, ordering and using commercial data. |
36+
| [Federation](extensions/federation/) | 0.2.0 | experimental | Covers federation aspects, i.e. where multiple back-ends are exposed as a single API. |
37+
| [Processing Parameters](extensions/processing-parameters/) | 0.1.0 | experimental | Explore and handle additional processing parameters that a back-end can offer for the processing modes (sync. processing, batch jobs, web services). |
38+
| [Remote Process Definition](extensions/remote-process-definition/) | 0.1.0 | experimental | Load user-defined processes that are hosted externally through the process namespace into process graphs. |
39+
| [Workspaces](extensions/workspaces/) | 0.1.0 | experimental | Connect external file storage systems (e.g. cloud buckets) to openEO back-end implementations. |
3640

3741
## Repository
3842

@@ -43,14 +47,14 @@ This repository contains a set of files formally describing the openEO API, each
4347
* The [assets](assets/) folder contains some useful additional files such as examples or schemas. All of these are non-binding additions. The source of truth are the top-level specification files.
4448
* The [extensions](extensions/) folder contains extensions to the openEO API.
4549

46-
# Development
50+
## Development
4751

4852
The `draft` branch is the latest version and is the one to create Pull Requests against.
4953

5054
For development some tools can be used:
5155

5256
1. Install [node and npm](https://nodejs.org) - should run with any recent version
5357
2. Run `npm install` in this folder to install the dependencies
54-
3. Run the linter for the OpenAPI file with `npm test`. This will lint the files and check against some best-practices. It uses `spectral` in the background.
58+
3. Run the linter for the OpenAPI file with `npm test`. This will lint the files and check against some best-practices. It uses `spectral` and `redocly` in the background.
5559
4. To show the files nicely formatted in a web browser, run `npm start`. It starts a server and opens the API specification rendered with ReDoc in a web browser.
56-
5. To create a static HTML page (e.g. for hosting it on GitHub Pages), you can run `npm run build` and it will create a `redoc.html` in this folder.
60+
5. To create a static HTML page (e.g. for hosting it on GitHub Pages), you can run `npm run build` and it will create a `index.html` in this folder and additional files for the extensions.

assets/status-diagram.png

22.7 KB
Loading

errors.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -200,7 +200,7 @@
200200
]
201201
},
202202
"ProcessInvalid": {
203-
"description": "The process given is invalid, which ususlly means that the process metadata is invalid.",
203+
"description": "The given process definition is invalid, which usually means that the process metadata is invalid.",
204204
"message": "Invalid process specified.",
205205
"http": 400,
206206
"tags": [
@@ -241,8 +241,8 @@
241241
]
242242
},
243243
"ProcessGraphComplexity": {
244-
"description": "The process graph is too complex for synchronous processing and will likely time out. Please use a batch job instead.",
245-
"message": "The process is too complex for for synchronous processing. Please use a batch job instead.",
244+
"description": "The process graph is computationally too demanding for synchronous processing and will likely time out. Please use a batch job instead.",
245+
"message": "The process graph is too demanding for synchronous processing. Please use a batch job instead.",
246246
"http": 400,
247247
"tags": [
248248
"Data Processing"

0 commit comments

Comments
 (0)