Skip to content

Commit 568a048

Browse files
authored
Merge pull request #745 from radiantearth/dev
Release 0.9.0
2 parents 2dc0024 + fef19d5 commit 568a048

File tree

72 files changed

+257
-210
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

72 files changed

+257
-210
lines changed

.circleci/config.yml

+4-3
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,18 @@ jobs:
33
build:
44
working_directory: ~/stac
55
docker:
6-
- image: circleci/python:3.6.9
6+
- image: circleci/python:3.7
77

88
steps:
99
- checkout
1010
- run: sudo chown -R circleci:circleci /usr/local/bin
11-
- run: sudo chown -R circleci:circleci /usr/local/lib/python3.6/site-packages
11+
- run: sudo chown -R circleci:circleci /usr/local/lib/python3.7/site-packages
1212
- run:
1313
name: install
1414
command: |
1515
pip install stac-validator
16-
sudo apt-get install curl software-properties-common
16+
sudo apt-get update
17+
sudo apt-get install curl -y software-properties-common
1718
curl -sL https://deb.nodesource.com/setup_13.x | sudo -E bash -
1819
sudo apt-get install -y nodejs
1920
sudo npm install -g remark-cli remark-validate-links

CHANGELOG.md

+45-55
Original file line numberDiff line numberDiff line change
@@ -6,69 +6,45 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
66

77
## Unreleased
88

9-
## [v0.9.0-rc2] - 2020-02-12
10-
11-
### Added
12-
- [Basics](item-spec/common-metadata.md#basics) added to Common Metadata definitions with new `description` field for
13-
Item properties
14-
- New fields to the `link` object to facilitate [pagination support for POST requests](api-spec/api-spec.md#paging-extension)
15-
- Data role, as a suggestion for a common role for data files to be used in case data providers don't come up with their own names and semantics
16-
- Clarification text on HTTP verbs in STAC API
17-
- [View Geometry Extension](extensions/view/README.md)
18-
19-
### Changed
20-
- Item `title` definition moved from core Item fields to [Common Metadata Basics](item-spec/common-metadata.md#basics)
21-
fields. No change is required for STAC Items.
22-
- `putFeature` can return a `PreconditionFailed` to provide more explicit information when the resource has changed in the server
23-
- [Sort extension](api-spec/extensions/sort) now uses "+" and "-" prefixes for GET requests to denote sort order.
24-
- Clarified how `/search` links must be added to `/` and changed that links to both GET and POST must be provided now that the method can be specified in links.
25-
- Moved angle definitions between extensions `view` and `sat`
26-
- `sat:off_nadir_angle` -> `view:off_nadir`
27-
- `sat:azimuth_angle` -> `view:azimuth`
28-
- `sat:incidence_angle` -> `view:incidence_angle`
29-
- `sat:sun_azimuth_angle` -> `view:sun_azimuth`
30-
- `sat:sun_elevation_angle` -> `view:sun_elevation`
31-
32-
33-
### Removed
34-
- In API, removed any mention of using media type `multipart/form-data` and `x-www-form-urlencoded`
35-
36-
### Fixed
37-
- Fixed Item JSON Schema now `allOf` optional Common Metadata properties are evaluated
38-
- Clarified usage of optional Common Metadata fields for STAC Items
39-
- Clarified usage of paging options, especially in relation to what OGC API - Features offers
40-
- Allow Commonmark in asset description, as it's allowed everywhere else
41-
- Put asset description in the API
42-
- Fixed API spec regarding license expressions
43-
- Added missing schema in the API Version extension
44-
45-
## [v0.9.0-rc1] - 2020-01-06
9+
## [v0.9.0] - 2020-02-26
4610

4711
### Added
4812
- ItemCollection requires `stac_version` field, `stac_extensions` has also been added
4913
- A `description` field has been added to Item assets (also Asset definitions extension)
50-
- Field `mission` to [Common Metadata fields](item-spec/common-metadata.md).
14+
- Field `mission` to [Common Metadata fields](item-spec/common-metadata.md)
5115
- Extensions:
52-
- [Version Indicators extension](extensions/version/README.md), adds `version` and `deprecated` fields to STAC Items and Collections
16+
- [Version Indicators extension](extensions/version/README.md), new `version` and `deprecated` fields in STAC Items and Collections
5317
- Data Cube extension can be used in Collections, added new field `description`
54-
- Added `description` and `roles` fields to the Asset in the [Asset Extension](extensions/asset/README.md)
55-
- Projection Extension to describe Items with Assets that have an associated geospatial projection
18+
- [Asset Extension](extensions/asset/README.md): new `description` and `roles` fields
19+
- New [Projection Extension](extensions/projection/README.md) to describe Items with Assets that have an associated geospatial projection
20+
- New [View Geometry Extension](extensions/view/README.md)
5621
- STAC API:
5722
- Added the [Item and Collection API Version extension](api-spec/extensions/version/README.md) to support versioning in the API specification
5823
- Run `npm run serve` or `npm run serve-ext` to quickly render development versions of the OpenAPI spec in the browser
24+
- [Basics](item-spec/common-metadata.md#basics) added to Common Metadata definitions with new `description` field for
25+
Item properties
26+
- New fields to the `link` object to facilitate [pagination support for POST requests](api-spec/api-spec.md#paging-extension)
27+
- `data` role, as a suggestion for a common role for data files to be used in case data providers don't come up with their own names and semantics
28+
- Clarification text on HTTP verbs in STAC API
5929

6030
### Changed
6131
- Support for [CommonMark 0.29 instead of CommonMark 0.28](https://spec.commonmark.org/0.29/changes.html)
6232
- Collection field `property` and the merge ability moved to a new extension 'Commons'
6333
- Added attribute `roles` to Item assets (also Asset definitions extension), to be used similarly to Link `rel`
6434
- Updated API yaml to clarify bbox filter should be implemented without brackets. Example: `bbox=160.6,-55.95,-170,-25.89`
65-
- Collection `summaries` merge array fields now.
35+
- Collection `summaries` merge array fields now
6636
- Several fields have been moved from extensions or item fields to the [Common Metadata fields](item-spec/common-metadata.md):
67-
- `eo:platform` / `sar:platform` => `platform`
68-
- `eo:instrument` / `sar:instrument` => `instruments`, also changed from string to array of strings
69-
- `eo:constellation` / `sar:constellation` => `constellation`
70-
- `dtr:start_datetime` => `start_datetime`
71-
- `dtr:end_datetime` => `end_datetime`
37+
- `eo:platform` / `sar:platform` => `platform`
38+
- `eo:instrument` / `sar:instrument` => `instruments`, also changed from string to array of strings
39+
- `eo:constellation` / `sar:constellation` => `constellation`
40+
- `dtr:start_datetime` => `start_datetime`
41+
- `dtr:end_datetime` => `end_datetime`
42+
- Moved angle definitions from extensions `eo` and new `view` extension
43+
- `eo:off_nadir` -> `view:off_nadir`
44+
- `eo:azimuth` -> `view:azimuth`
45+
- `eo:incidence_angle` -> `view:incidence_angle`
46+
- `eo:sun_azimuth` -> `view:sun_azimuth`
47+
- `eo:sun_elevation` -> `view:sun_elevation`
7248
- Extensions:
7349
- Data Cube extension: Changed allowed formats (removed PROJ string, added PROJJSON / WKT2) for reference systems
7450
- [Checksum extension](extensions/checksum/README.md) is now using self-identifiable hashes ([Multihash](https://github.com/multiformats/multihash))
@@ -80,28 +56,43 @@ fields. No change is required for STAC Items.
8056
- Fields extension has a simplified format for GET parameters
8157
- `search` extension renamed to `context` extension. JSON object renamed from `search:metadata` to `context`
8258
- Removed "next" from the search metadata and query parameter, added POST body and headers to the links for paging support
83-
- Query Extension - type restrictions on query predicates are more accurate, which may require additional implementation support.
59+
- Query Extension - type restrictions on query predicates are more accurate, which may require additional implementation support
60+
- Item `title` definition moved from core Item fields to [Common Metadata Basics](item-spec/common-metadata.md#basics)
61+
fields. No change is required for STAC Items.
62+
- `putFeature` can return a `PreconditionFailed` to provide more explicit information when the resource has changed in the server
63+
- [Sort extension](api-spec/extensions/sort) now uses "+" and "-" prefixes for GET requests to denote sort order.
64+
- Clarified how `/search` links must be added to `/` and changed that links to both GET and POST must be provided now that the method can be specified in links
8465

8566
### Removed
8667
- `version` field in STAC Collections. Use [Version Extension](extensions/version/README.md) instead
8768
- `summaries` field from Catalogs. Use Collections instead
88-
- Asset Types (pre-defined values for the keys of individual assets, *not* media types) in Items. Use the asset's `roles` instead.
89-
- `license` field doesn't allow SPDX expressions any longer. Use `various` and links instead.
69+
- Asset Types (pre-defined values for the keys of individual assets, *not* media types) in Items. Use the asset's `roles` instead
70+
- `license` field doesn't allow SPDX expressions any longer. Use `various` and links instead
9071
- Extensions:
9172
- `eo:platform`, `eo:instrument`, `eo:constellation` from EO extension, and `sar:platform`, `sar:instrument`, `sar:constellation` from the [SAR extension](extensions/sar/README.md)
9273
- Removed from EO extension field `eo:epsg` in favor of `proj:epsg`
9374
- `gsd` and `accuracy` from `eo:bands` in the [EO extension](extensions/eo/README.md)
9475
- `sar:absolute_orbit` and `sar:center_wavelength` fields from the [SAR extension](extensions/sar/README.md)
9576
- `data_type` and `unit` from the `sar:bands` object in the [SAR extension](extensions/sar/README.md)
96-
- Datetime Range (`dtr`) extension. Use the [Common Metadata fields](item-spec/common-metadata.md) instead.
77+
- Datetime Range (`dtr`) extension. Use the [Common Metadata fields](item-spec/common-metadata.md) instead
9778
- STAC API:
9879
- `next` from the search metadata and query parameter
80+
- In API, removed any mention of using media type `multipart/form-data` and `x-www-form-urlencoded`
9981

10082
### Fixed
10183

102-
- The `license` field in Item and Collection spec explicitly mentions that the value `proprietary` without a link means that the data is private.
103-
- Clarified how to fill `stac_extensions`.
84+
- The `license` field in Item and Collection spec explicitly mentions that the value `proprietary` without a link means that the data is private
85+
- Clarified how to fill `stac_extensions`
10486
- More clarifications; typos fixed
87+
- Fixed Item JSON Schema now `allOf` optional Common Metadata properties are evaluated
88+
- Clarified usage of optional Common Metadata fields for STAC Items
89+
- Clarified usage of paging options, especially in relation to what OGC API - Features offers
90+
- Allow Commonmark in asset description, as it's allowed everywhere else
91+
- Put asset description in the API
92+
- Fixed API spec regarding license expressions
93+
- Added missing schema in the API Version extension
94+
- Fixed links in the Landsat example in the collection-spec
95+
10596

10697
## [v0.8.1] - 2019-11-01
10798

@@ -311,8 +302,7 @@ Thanks @hgs-msmith, @matthewhanson, @hgs-trutherford, @rouault, @joshfix, @alkam
311302

312303

313304
[Unreleased]: https://github.com/radiantearth/stac-spec/compare/master...dev
314-
[v0.9.0-rc2]: https://github.com/radiantearth/stac-spec/compare/v0.9.0-rc1...v0.9.0-rc2
315-
[v0.9.0-rc1]: https://github.com/radiantearth/stac-spec/compare/v0.8.0...v0.9.0-rc1
305+
[v0.9.0]: https://github.com/radiantearth/stac-spec/compare/v0.8.1...v0.9.0
316306
[v0.8.1]: https://github.com/radiantearth/stac-spec/compare/v0.8.0...v0.8.1
317307
[v0.8.0]: https://github.com/radiantearth/stac-spec/compare/v0.7.0...v0.8.0
318308
[v0.7.0]: https://github.com/radiantearth/stac-spec/compare/v0.6.2...v0.7.0

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ The minimal amount is specified right now, but best practices should emerge with
2929
## Current version and branches
3030

3131
The [master branch](https://github.com/radiantearth/stac-spec/tree/master) is the 'stable' version of the spec. It is currently version
32-
**0.9.0-rc2** of the specification. The
32+
**0.9.0** of the specification. The
3333
[dev](https://github.com/radiantearth/stac-spec/tree/dev) branch is where active development takes place, and may have inconsistent examples.
3434
Whenever dev stabilizes a release is cut and we merge dev in to master. So master should be stable at any given time.
3535
It is possible that there may be small releases in quick succession, especially if they are nice improvements that do

api-spec/STAC-extensions.yaml

+5-5
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
openapi: 3.0.1
22
info:
33
title: The SpatioTemporal Asset Catalog API + Extensions
4-
version: 0.9.0-rc2
4+
version: 0.9.0
55
license:
66
name: Apache License 2.0
77
url: 'http://www.apache.org/licenses/LICENSE-2.0'
@@ -786,7 +786,7 @@ components:
786786
- type: string
787787
- type: number
788788
example:
789-
stac_version: 0.9.0-rc2
789+
stac_version: 0.9.0
790790
stac_extensions: []
791791
id: Sentinel-2
792792
title: 'Sentinel-2 MSI: MultiSpectral Instrument, Level-1C'
@@ -1610,7 +1610,7 @@ components:
16101610
stac_version:
16111611
title: STAC version
16121612
type: string
1613-
example: 0.9.0-rc2
1613+
example: 0.9.0
16141614
stac_extensions:
16151615
title: STAC extensions
16161616
type: array
@@ -1696,7 +1696,7 @@ components:
16961696
assets:
16971697
$ref: '#/components/schemas/itemAssets'
16981698
example:
1699-
stac_version: 0.9.0-rc2
1699+
stac_version: 0.9.0
17001700
stac_extensions:
17011701
- eo
17021702
- view
@@ -2106,7 +2106,7 @@ components:
21062106
rel: search
21072107
type: application/json
21082108
title: Search across feature collections
2109-
stac_version: 0.9.0-rc2
2109+
stac_version: 0.9.0
21102110
id: naip
21112111
text/html:
21122112
schema:

api-spec/STAC.yaml

+5-5
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
openapi: 3.0.1
22
info:
33
title: The SpatioTemporal Asset Catalog API
4-
version: 0.9.0-rc2
4+
version: 0.9.0
55
license:
66
name: Apache License 2.0
77
url: 'http://www.apache.org/licenses/LICENSE-2.0'
@@ -490,7 +490,7 @@ components:
490490
- type: string
491491
- type: number
492492
example:
493-
stac_version: 0.9.0-rc2
493+
stac_version: 0.9.0
494494
stac_extensions: []
495495
id: Sentinel-2
496496
title: 'Sentinel-2 MSI: MultiSpectral Instrument, Level-1C'
@@ -1311,7 +1311,7 @@ components:
13111311
stac_version:
13121312
title: STAC version
13131313
type: string
1314-
example: 0.9.0-rc2
1314+
example: 0.9.0
13151315
stac_extensions:
13161316
title: STAC extensions
13171317
type: array
@@ -1378,7 +1378,7 @@ components:
13781378
assets:
13791379
$ref: '#/components/schemas/itemAssets'
13801380
example:
1381-
stac_version: 0.9.0-rc2
1381+
stac_version: 0.9.0
13821382
stac_extensions:
13831383
- eo
13841384
- view
@@ -1554,7 +1554,7 @@ components:
15541554
rel: search
15551555
type: application/json
15561556
title: Search across feature collections
1557-
stac_version: 0.9.0-rc2
1557+
stac_version: 0.9.0
15581558
id: naip
15591559
text/html:
15601560
schema:

api-spec/openapi/STAC.yaml

+5-5
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
openapi: 3.0.1
22
info:
33
title: The SpatioTemporal Asset Catalog API
4-
version: 0.9.0-rc2
4+
version: 0.9.0
55
description: >-
66
This is an OpenAPI definition of the core SpatioTemporal Asset Catalog API
77
specification. Any service that implements this endpoint to allow search of
@@ -200,7 +200,7 @@ components:
200200
content:
201201
application/json:
202202
example:
203-
stac_version: 0.9.0-rc2
203+
stac_version: 0.9.0
204204
id: naip
205205
title: NAIP Imagery
206206
description: Catalog of NAIP Imagery.
@@ -291,7 +291,7 @@ components:
291291
- type: string
292292
- type: number
293293
example:
294-
stac_version: 0.9.0-rc2
294+
stac_version: 0.9.0
295295
stac_extensions: []
296296
id: Sentinel-2
297297
title: 'Sentinel-2 MSI: MultiSpectral Instrument, Level-1C'
@@ -660,7 +660,7 @@ components:
660660
stac_version:
661661
title: STAC version
662662
type: string
663-
example: 0.9.0-rc2
663+
example: 0.9.0
664664
stac_extensions:
665665
title: STAC extensions
666666
type: array
@@ -737,7 +737,7 @@ components:
737737
assets:
738738
$ref: '#/components/schemas/itemAssets'
739739
example:
740-
stac_version: 0.9.0-rc2
740+
stac_version: 0.9.0
741741
stac_extensions:
742742
- eo
743743
- view

api-spec/package-lock.json

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

api-spec/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "api-spec",
3-
"version": "0.9.0-rc2",
3+
"version": "0.9.0",
44
"description": "Generate STAC openapi defintions from fragments.",
55
"repository": "https://github.com/radiantearth/stac-spec",
66
"license": "Apache-2.0",

catalog-spec/catalog-spec.md

+10-10
Original file line numberDiff line numberDiff line change
@@ -93,14 +93,14 @@ guidance for good recommendations when implementing.
9393

9494
## Catalog fields
9595

96-
| Element | Type | Description |
97-
| ------------ | ------------- | ------------------------------------------------------------ |
98-
| stac_version | string | **REQUIRED.** The STAC version the catalog implements. STAC versions can be mixed, but please keep the [recommended best practices](../best-practices.md#mixing-stac-versions) in mind. |
99-
| stac_extensions | [string] | A list of extensions the Catalog implements. |
100-
| id | string | **REQUIRED.** Identifier for the catalog. |
101-
| title | string | A short descriptive one-line title for the catalog. |
102-
| description | string | **REQUIRED.** Detailed multi-line description to fully explain the catalog. [CommonMark 0.29](http://commonmark.org/) syntax MAY be used for rich text representation. |
103-
| links | [[Link Object](#link-object)] | **REQUIRED.** A list of references to other documents. |
96+
| Element | Type | Description |
97+
| --------------- | ------------- | ------------------------------------------------------------ |
98+
| stac_version | string | **REQUIRED.** The STAC version the catalog implements. STAC versions can be mixed, but please keep the [recommended best practices](../best-practices.md#mixing-stac-versions) in mind. |
99+
| stac_extensions | [string] | A list of extension identifiers the Catalog implements. |
100+
| id | string | **REQUIRED.** Identifier for the catalog. |
101+
| title | string | A short descriptive one-line title for the catalog. |
102+
| description | string | **REQUIRED.** Detailed multi-line description to fully explain the catalog. [CommonMark 0.29](http://commonmark.org/) syntax MAY be used for rich text representation. |
103+
| links | [[Link Object](#link-object)] | **REQUIRED.** A list of references to other documents. |
104104

105105
**stac_extensions**: A list of extensions the Catalog implements. This does NOT declare the extensions of children or Items. The list contains URLs to the JSON Schema files it can be validated against. For official [content extensions](../extensions/README.md#list-of-content-extensions), a "shortcut" can be used. This means you can specify the folder name of the extension, for example `pointcloud` for the Point Cloud extension. This does *not* apply for API extensions. If the versions of the extension and the catalog diverge, you can specify the URL of the JSON schema file.
106106
This list must only contain extensions that extend the Catalog itself, see the the 'Scope' column in the list of extensions.
@@ -145,7 +145,7 @@ might look something like this:
145145

146146
```json
147147
{
148-
"stac_version": "0.9.0-rc2",
148+
"stac_version": "0.9.0",
149149
"id": "NAIP",
150150
"description": "Catalog of NAIP Imagery",
151151
"links": [
@@ -163,7 +163,7 @@ A typical '_child_' sub-catalog could look similar:
163163

164164
```json
165165
{
166-
"stac_version": "0.9.0-rc2",
166+
"stac_version": "0.9.0",
167167
"id": "NAIP",
168168
"description": "Catalog of NAIP Imagery - 30087",
169169
"links": [

catalog-spec/examples/catalog.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"stac_version": "0.9.0-rc2",
2+
"stac_version": "0.9.0",
33
"id": "sample",
44
"description": "This is a very basic sample catalog.",
55
"links": [

catalog-spec/json-schema/catalog.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
"stac_version": {
2323
"title": "STAC version",
2424
"type": "string",
25-
"const": "0.9.0-rc2"
25+
"const": "0.9.0"
2626
},
2727
"stac_extensions": {
2828
"title": "STAC extensions",

0 commit comments

Comments
 (0)