Skip to content

Commit 2c4ffa2

Browse files
authored
Merge pull request #1036 from radiantearth/dev
Release 1.0.0-rc.1
2 parents 4988a40 + d596a2b commit 2c4ffa2

File tree

115 files changed

+3202
-8638
lines changed

Some content is hidden

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

115 files changed

+3202
-8638
lines changed

.circleci/config.yml

+3-14
Original file line numberDiff line numberDiff line change
@@ -3,26 +3,15 @@ jobs:
33
test_examples:
44
working_directory: ~/stac
55
docker:
6-
- image: circleci/python:3.7
6+
- image: circleci/node:12
77
steps:
88
- checkout
9-
- run: sudo chown -R circleci:circleci /usr/local/bin
10-
- run: sudo chown -R circleci:circleci /usr/local/lib/python3.7/site-packages
119
- run:
1210
name: install
13-
command: pip install stac-validator
11+
command: npm install
1412
- run:
1513
name: validate
16-
command: |
17-
stac_validator catalog-spec/examples/catalog.json
18-
stac_validator collection-spec/examples/sentinel2.json
19-
stac_validator item-spec/examples/sample.json
20-
stac_validator item-spec/examples/sample-full.json
21-
stac_validator item-spec/examples/sentinel2-sample.json
22-
stac_validator item-spec/examples/planet-sample.json
23-
stac_validator item-spec/examples/landsat8-sample.json
24-
stac_validator item-spec/examples/digitalglobe-sample.json
25-
stac_validator item-spec/examples/CBERS_4_MUX_20181029_177_106_L4.json
14+
command: npm run check-examples
2615
test_docs:
2716
working_directory: ~/stac
2817
docker:

.github/CODEOWNERS

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# This file tells GitHub who should "own" different extensions.
2+
# Ownership for us means:
3+
# - owners are (automatically) requested for review on any PR touching code in
4+
# the extensions that they own
5+
# - owners are shown in the UI in GitHub when someone is browsing files
6+
#
7+
# For more information about this file format see an example in the GitHub
8+
# documentation:
9+
# https://docs.github.com/en/free-pro-team@latest/github/creating-cloning-and-archiving-repositories/about-code-owners#example-of-a-codeowners-file
10+
#
11+
# For more information about code owners in general, start at the beginning of that page'
12+
# instead of at the example file:
13+
#
14+
# https://docs.github.com/en/free-pro-team@latest/github/creating-cloning-and-archiving-repositories/about-code-owners
15+
16+
/extensions/eo/ @matthewhanson
17+
/extensions/projection/ @matthewhanson
18+
/extensions/scientific/ @m-mohr
19+
/extensions/view/ @matthewhanson

CHANGELOG.md

+41-4
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,41 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
1414

1515
### Fixed
1616

17+
## [v1.0.0-rc.1] - 2021-03-03
18+
19+
### Added
20+
21+
- Catalog and Collection now require a `type` parameter, to be set to `Catalog` or `Collection` for clients to more easily distinguish them easily. ([#971](https://github.com/radiantearth/stac-spec/pull/971))
22+
- Collection specification adds Assets (previously needed Collections Asset extension to do that). ([#1008](https://github.com/radiantearth/stac-spec/pull/1008))
23+
- 'via' and 'canonical' rel types are now options in Items. ([#884](https://github.com/radiantearth/stac-spec/pull/884))
24+
- In Extensions list there is now reference to three new (non-core) extensions: [processing](https://github.com/stac-extensions/processing), [file info](https://github.com/stac-extensions/file) and [card4l](https://github.com/stac-extensions/card4l). These would have been added to the stac-spec repo, except all non-core extensions were moved to [stac-extensions](https://github.com/stac-extensions/) org. ([#1024](https://github.com/radiantearth/stac-spec/pull/1024))
25+
- 'summaries' are now available in the Catalog spec, so both catalogs and collections can make use of it. ([#903](https://github.com/radiantearth/stac-spec/issues/903))
26+
- There is a new recommendation to enable CORS. ([#940](https://github.com/radiantearth/stac-spec/pull/940))
27+
- A Best Practice section on 'requester pays' cloud buckets was added. ([#1021](https://github.com/radiantearth/stac-spec/pull/1021))
28+
- A new Best Practice section explains Asset Roles, plus some lists of potential roles for people to use (in best practices, sar and eo). ([#989](https://github.com/radiantearth/stac-spec/pull/989))
29+
- There is a new Best Practice recommendation to keep collections at consistent levels. ([#1009](https://github.com/radiantearth/stac-spec/pull/1009))
30+
31+
### Changed
32+
33+
- The [Stats Object](collection-spec/collection-spec.md#stats-object) for Collection `summaries` changed `min` to `minimum` and `max` to `maximum` to align with JSON Schema. ([#967](https://github.com/radiantearth/stac-spec/pull/967))
34+
- URIs (usually found int properties like `href`, `url`) are now validated using the `iri-reference` format in JSON Schema (allows international characters in URIs) ([#953](https://github.com/radiantearth/stac-spec/pull/953))
35+
- Enhanced the way the spec talks about ID's to encourage more global uniqueness. ([#883](https://github.com/radiantearth/stac-spec/pull/883))
36+
- Clarified how collection-level asset object properties do not remove the need for item-level asset object properties in the `item-assets` extension ([#880](https://github.com/radiantearth/stac-spec/pull/880))
37+
- Made `summaries` to be *strongly recommended* - everyone should strive to implement them, as they are very useful. ([#985](https://github.com/radiantearth/stac-spec/pull/985))
38+
- Moved examples from individual directories into a single /examples folder at the root, and evolved them to be more representative. ([#955](https://github.com/radiantearth/stac-spec/pull/955))
39+
- Renamed "Scientific Extension" to "Scientific Citation Extension" ([#990](https://github.com/radiantearth/stac-spec/issues/990))
40+
- Relaxed the regular expression for DOIs in the scientific extension ([#910](https://github.com/radiantearth/stac-spec/issues/910))
41+
- `proj:geometry` allows all GeoJSON geometries instead of just a polygon. ([#995](https://github.com/radiantearth/stac-spec/pull/995))
42+
43+
### Removed
44+
45+
- Checksum extension (field `checksum:multihash`). Use File Info extension (field `file:checksum`) instead for assets. There's no replacement for links. ([#934](https://github.com/radiantearth/stac-spec/pull/934))
46+
- Collection Assets extension, as the core construct of Assets in a Collection is now part of the core Collection spec. No change is required except removing `collection-assets` from the list of `stac_extensions`. ([#1008](https://github.com/radiantearth/stac-spec/pull/1008))
47+
- Numerous extensions (Data Cube, Item Assets, Point Cloud, SAR, Single File STAC, Tiled Assets, Timestamps & Versioning) have been moved out of the core specification, into their own repos in the [stac-extensions](https://github.com/stac-extensions/) GitHub organization. They must now be referred to by their schemas directly - the name shortcuts for them are no longer valid. ([#1024](https://github.com/radiantearth/stac-spec/pull/1024))
48+
49+
### Fixed
50+
51+
- Fixed JSON Schema for `providers` (Collections and Items) to be an object and require a `name`. ([#924](https://github.com/radiantearth/stac-spec/pull/924))
1752

1853
## [v1.0.0-beta.2] - 2020-07-08
1954

@@ -23,6 +58,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
2358
### Changed
2459
- Clarification on null geometries, making bbox not required if a null geometry is used.
2560
- Multiple extents (bounding boxes / intervals) are allowed per Collection
61+
- In the scientific extension, a link with the rel-type 'cite-as' SHOULD be used for the main publication of the dataset (the same as the one described in `sci:doi`), and not for the DOIs referenced in the `sci:publications` property.
2662

2763
### Removed
2864
- Validation instructions
@@ -82,7 +118,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
82118
- New [View Geometry Extension](extensions/view/README.md)
83119
- STAC API:
84120
- Added the [Item and Collection API Version extension](https://github.com/radiantearth/stac-api-spec/tree/master/extensions/version/README.md) to support versioning in the API specification
85-
- Run `npm run serve` or `npm run serve-ext` to quickly render development versions of the OpenAPI spec in the browser
121+
- Run `npm run serve` or `npm run serve-ext` to quickly render development versions of the OpenAPI spec in the browser
86122
- [Basics](item-spec/common-metadata.md#basics) added to Common Metadata definitions with new `description` field for
87123
Item properties
88124
- New fields to the `link` object to facilitate [pagination support for POST requests](https://github.com/radiantearth/stac-api-spec/tree/master/api-spec.md#paging-extension)
@@ -92,7 +128,7 @@ Item properties
92128
### Changed
93129
- Support for [CommonMark 0.29 instead of CommonMark 0.28](https://spec.commonmark.org/0.29/changes.html)
94130
- Collection field `property` and the merge ability moved to a new extension 'Commons'
95-
- Added attribute `roles` to Item assets (also Asset definitions extension), to be used similarly to Link `rel`
131+
- Added field `roles` to Item assets (also Asset definitions extension), to be used similarly to Link `rel`
96132
- Updated API yaml to clarify bbox filter should be implemented without brackets. Example: `bbox=160.6,-55.95,-170,-25.89`
97133
- Collection `summaries` merge array fields now
98134
- Several fields have been moved from extensions or item fields to the [Common Metadata fields](item-spec/common-metadata.md):
@@ -119,10 +155,10 @@ Item properties
119155
- `search` extension renamed to `context` extension. JSON object renamed from `search:metadata` to `context`
120156
- Removed "next" from the search metadata and query parameter, added POST body and headers to the links for paging support
121157
- Query Extension - type restrictions on query predicates are more accurate, which may require additional implementation support
122-
- Item `title` definition moved from core Item fields to [Common Metadata Basics](item-spec/common-metadata.md#basics)
158+
- Item `title` definition moved from core Item fields to [Common Metadata Basics](item-spec/common-metadata.md#basics)
123159
fields. No change is required for STAC Items.
124160
- `putFeature` can return a `PreconditionFailed` to provide more explicit information when the resource has changed in the server
125-
- [Sort extension](https://github.com/radiantearth/stac-api-spec/tree/master/extensions/sort) now uses "+" and "-" prefixes for GET requests to denote sort order.
161+
- [Sort extension](https://github.com/radiantearth/stac-api-spec/tree/master/extensions/sort) now uses "+" and "-" prefixes for GET requests to denote sort order.
126162
- 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
127163

128164
### Removed
@@ -358,6 +394,7 @@ Thanks @hgs-msmith, @matthewhanson, @hgs-trutherford, @rouault, @joshfix, @alkam
358394

359395

360396
[Unreleased]: <https://github.com/radiantearth/stac-spec/compare/master...dev>
397+
[v1.0.0-rc.1]: <https://github.com/radiantearth/stac-spec/compare/v1.0.0-beta.2..v1.0.0-rc.1>
361398
[v1.0.0-beta.2]: <https://github.com/radiantearth/stac-spec/compare/v1.0.0-beta.1..v1.0.0-beta.2>
362399
[v1.0.0-beta.1]: <https://github.com/radiantearth/stac-spec/compare/v0.9.0...v1.0.0-beta.1>
363400
[v0.9.0]: <https://github.com/radiantearth/stac-spec/compare/v0.8.1...v0.9.0>

CONTRIBUTING.md

+25-6
Original file line numberDiff line numberDiff line change
@@ -33,18 +33,18 @@ you to change the base in GitHub's PR creation page.
3333
select breaking changes, but after 1.0 this will change)
3434

3535
All pull requests should submit clean markdown, which is checked by the continuous integration
36-
system. Please use `check-markdown` locally, as described in the [next section](#using-check-markdown-locally),
36+
system. Please use `npm run check` locally, as described in the [next section](#check-files),
3737
to ensure that the checks on the pull request succeed. If it does not then you can look at the
38-
mistakes online, which are the same as running `check-markdown` locally would surface.
38+
mistakes online, which are the same as running `npm run check` locally would surface.
3939

4040
All pull requests that modify or create JSON schema files or examples should use [JSON formatter](https://jsonformatter.org/) to keep files consistent across the repo.
4141

4242
All pull requests additionally require a review of two STAC core team members. Releases are cut
4343
from dev to master (and require 3 approvals), see the [process](process.md) document for more details.
4444

45-
### Using check-markdown locally
45+
### Check files
4646

47-
The same check-markdown program that runs as a check on PR's is part of the repo and can be run locally.
47+
The same check-markdown and check-examples programs that runs as a check on PR's is part of the repo and can be run locally.
4848
To install you'll need npm, which is a standard part of any [node.js installation](https://nodejs.org/en/download/). Alternatively, you can also use [yarn](https://yarnpkg.com/) instead of npm. In this case replace all occurrences of `npm` with `yarn` below.
4949

5050
First you'll need to install everything with npm once. Just navigate to the root of the stac-spec repo and on
@@ -53,10 +53,29 @@ your command line run:
5353
```bash
5454
npm install
5555
```
56-
Then to do the check on your markdown you run:
56+
57+
Then to do the check for markdown and examples you run:
58+
59+
```bash
60+
npm run check
61+
```
62+
63+
This will spit out the same texts that you see online, and you can then go and fix your markdown or examples.
64+
65+
To just check the markdown run:
5766

5867
```bash
5968
npm run check-markdown
6069
```
6170

62-
This will spit out the same text that you see online, and you can then go and fix your markdown.
71+
To just check the examples run:
72+
73+
```bash
74+
npm run check-examples
75+
```
76+
77+
To automatically format / pretty-print the examples run:
78+
79+
```bash
80+
npm run format-examples
81+
```

0 commit comments

Comments
 (0)