diff --git a/CHANGELOG.md b/CHANGELOG.md index 3f95acd22..9feacfe2f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,16 +13,18 @@ Item properties. ### Changed - Item `title` definition moved from core Item fields to [Common Metadata Basics](item-spec/common-metadata.md#basics) fields. No change is required for STAC Items. +- `putFeature` can return a `PreconditionFailed` to provide more explicit information when the resource has changed in the server ### Fixed - Fixed Item JSON Schema now `allOf` optional Common Metadata properties are evaluated. - Clarified usage of optional Common Metadata fields for STAC Items. + ## [v0.9.0-rc1] - 2020-01-06 ### Added - ItemCollection requires `stac_version` field, `stac_extensions` has also been added -- A `description` field has been added to Item assets (also Asset definitions extension). +- A `description` field has been added to Item assets (also Asset definitions extension). - Field `mission` to [Common Metadata fields](item-spec/common-metadata.md). - Extensions: - [Version Indicators extension](extensions/version/README.md), adds `version` and `deprecated` fields to STAC Items and Collections @@ -56,7 +58,8 @@ fields. No change is required for STAC Items. - Sort Extension - added non-JSON query/form parameter format - Fields extension has a simplified format for GET parameters - `search` extension renamed to `context` extension. JSON object renamed from `search:metadata` to `context` - - Query Extension - type restrictions on query predicates are more accurate, which may require additional implementation support. + - Removed "next" from the search metadata and query parameter, added POST body and headers to the links for paging support + - Query Extension - type restrictions on query predicates are more accurate, which may require additional implementation support. ### Removed - `version` field in STAC Collections. Use [Version Extension](extensions/version/README.md) instead diff --git a/api-spec/STAC-extensions.yaml b/api-spec/STAC-extensions.yaml index d0ceefb43..18db5756f 100644 --- a/api-spec/STAC-extensions.yaml +++ b/api-spec/STAC-extensions.yaml @@ -226,6 +226,8 @@ paths: $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' + '412': + $ref: '#/components/responses/PreconditionFailed' 5XX: $ref: '#/components/responses/InternalServerError' default: @@ -240,7 +242,7 @@ paths: patch: summary: update an existing feature by Id with a partial item definition description: >- - Use this method to update an existing feature. Requires a GeoJSON + Use this method to update an existing feature. Requires a GeoJSON fragement (containing the fields to be updated) be submitted. operationId: patchFeature tags: @@ -2318,6 +2320,12 @@ components: application/json: schema: $ref: '#/components/schemas/exception' + PreconditionFailed: + description: Some condition specified by the request could not be met in the server + content: + application/json: + schema: + $ref: '#/components/schemas/exception' InternalServerError: description: >- The request was syntactically and semantically valid, but an error diff --git a/api-spec/extensions/transaction/transaction.fragment.yaml b/api-spec/extensions/transaction/transaction.fragment.yaml index 9c519c723..683ce974e 100644 --- a/api-spec/extensions/transaction/transaction.fragment.yaml +++ b/api-spec/extensions/transaction/transaction.fragment.yaml @@ -94,6 +94,8 @@ paths: $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' + '412': + $ref: '#/components/responses/PreconditionFailed' '5XX': $ref: '#/components/responses/InternalServerError' default: @@ -108,7 +110,7 @@ paths: patch: summary: update an existing feature by Id with a partial item definition description: >- - Use this method to update an existing feature. Requires a GeoJSON + Use this method to update an existing feature. Requires a GeoJSON fragement (containing the fields to be updated) be submitted. operationId: patchFeature tags: @@ -247,6 +249,12 @@ components: application/json: schema: $ref: '#/components/schemas/exception' + PreconditionFailed: + description: Some condition specified by the request could not be met in the server + content: + application/json: + schema: + $ref: '#/components/schemas/exception' InternalServerError: description: The request was syntactically and semantically valid, but an error occurred while trying to act upon it content: