Skip to content

Commit 62003db

Browse files
authored
Merge pull request #291 from radiantearth/dev
v.1.0.0-rc.1 release merge to master
2 parents a93cfec + e1f2910 commit 62003db

Some content is hidden

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

46 files changed

+16892
-1115
lines changed

.circleci/.spectral-fragments.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,6 @@ rules:
33
openapi-tags: off
44
info-contact: off
55
oas3-api-servers: off
6-
oas3-unused-components-schema: off
6+
oas3-unused-component: off
77
operation-operationId: off
88
oas3-parameter-description: true

.circleci/config.yml

+4-4
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ jobs:
2424
validate:
2525
working_directory: ~/stac
2626
docker:
27-
- image: cimg/node:14.7
27+
- image: cimg/node:16.14
2828
steps:
2929
- checkout
3030
- save_cache:
@@ -44,7 +44,7 @@ jobs:
4444
build:
4545
working_directory: ~/stac
4646
docker:
47-
- image: cimg/node:14.7
47+
- image: cimg/node:16.14
4848
steps:
4949
- *restore_repo
5050
- *restore_dependencies
@@ -58,7 +58,7 @@ jobs:
5858
publish:
5959
working_directory: ~/stac
6060
docker:
61-
- image: cimg/node:14.7
61+
- image: cimg/node:16.14
6262
steps:
6363
- *restore_repo
6464
- *restore_dependencies
@@ -72,7 +72,7 @@ jobs:
7272
check-core-changes:
7373
working_directory: ~/stac
7474
docker:
75-
- image: cimg/node:14.7
75+
- image: cimg/node:16.14
7676
steps:
7777
- *restore_repo
7878
- *restore_dependencies

.circleci/rc.yaml

-43
This file was deleted.

.github/pull_request_template.md

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1-
**Related Issue(s):** #
1+
**Related Issue(s):**
22

3+
- #
34

45
**Proposed Changes:**
56

.gitignore

-1
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,6 @@ build/Release
3535
# Dependency directories
3636
node_modules/
3737
jspm_packages/
38-
package-lock.json
3938

4039
# Typescript v1 declaration files
4140
typings/

.nvmrc

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
16

CHANGELOG.md

+33
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,37 @@ 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+
## [v1.0.0-rc.1] - 2022-03-17
8+
9+
### Added
10+
11+
- The CQL2 Accent and Case-insensitive Comparison
12+
(`http://www.opengis.net/spec/cql2/1.0/conf/accent-case-insensitive-comparison`) conformance class
13+
adds the ACCENTI and CASEI functions for case-insensitive comparison. These replace the UPPER and
14+
LOWER psuedo-functions that were previously part of the Advanced Comparison Operators class.
15+
16+
### Changed
17+
18+
- Query Extension is no longer deprecated.
19+
- Children conformance class now requires the /children endpoint includes all child catalogs or collections
20+
referenced via `child` link relations from the Landing Page
21+
- Clarified behavior of Transaction Extension endpoints:
22+
- PUT and PATCH of a body that changes the `collection` or `id` is disallowed.
23+
- POST, PUT, and PATCH do not need to include the `collection` attribute, as it should be derived from the URL.
24+
- POST and PUT can be used with a body that is at least a GeoJSON Feature, but does not have to be an Item, but for which
25+
the server can derive a valid Item, e.g., by populating the id and collection fields or adding links
26+
- Likewise, POST can be used with a body of a FeatureCollection that contains features that meet the same constraints.
27+
- Specifications now use the term "must" instead of "shall". The semantics of these words are identical.
28+
- Conformance class for Item Search Filter is now
29+
`https://api.stacspec.org/v1.0.0-beta.5/item-search#filter`, whereas before it was incorrectly stated as
30+
`https://api.stacspec.org/v1.0.0-beta.5/item-search#filter:item-search-filter`
31+
32+
### Deprecated
33+
34+
### Removed
35+
36+
### Fixed
37+
738
## [v1.0.0-beta.5] - 2022-01-14
839

940
### Added
@@ -84,6 +115,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
84115
- The required Link Relations and endpoints for each conformance class now use the wording of 'shall'
85116
instead of 'should'. While this technically changes the semantics, it was generally understood
86117
previously the semantics were those of 'shall' (must).
118+
- Explicitly state that the `/children` endpoint can return Catalog and Collection objects that have fewer
119+
fields than are available through other endpoints.
87120

88121
### Deprecated
89122

CONTRIBUTING.md

+4-3
Original file line numberDiff line numberDiff line change
@@ -48,10 +48,11 @@ from dev to master (and require 3 approvals).
4848

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

53-
First you'll need to install everything with npm once. Just navigate to the root of the stac-spec repo and on
54-
your command line run:
53+
If using nvm, run `nvm install`.
54+
55+
Install the dependencies with npm:
5556

5657
```bash
5758
npm install

README.md

+13-2
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,24 @@
44
# STAC API
55

66
- [STAC API](#stac-api)
7+
- [Releases](#releases)
78
- [About](#about)
89
- [Stability Note](#stability-note)
910
- [Maturity Classification](#maturity-classification)
1011
- [Communication](#communication)
1112
- [In this repository](#in-this-repository)
1213
- [Contributing](#contributing)
1314

15+
## Releases
16+
17+
- [v1.0.0-rc.1](https://github.com/radiantearth/stac-api-spec/tree/v1.0.0-rc.1)
18+
- [v1.0.0-beta.5](https://github.com/radiantearth/stac-api-spec/tree/v1.0.0-beta.5)
19+
- [v1.0.0-beta.4](https://github.com/radiantearth/stac-api-spec/tree/v1.0.0-beta.4)
20+
- [v1.0.0-beta.3](https://github.com/radiantearth/stac-api-spec/tree/v1.0.0-beta.3)
21+
- [v1.0.0-beta.2](https://github.com/radiantearth/stac-api-spec/tree/v1.0.0-beta.2)
22+
- [v1.0.0-beta.1](https://github.com/radiantearth/stac-api-spec/tree/v1.0.0-beta.1)
23+
- [v0.9.0](https://github.com/radiantearth/stac-api-spec/tree/v0.9.0)
24+
1425
## About
1526

1627
The SpatioTemporal Asset Catalog (STAC) family of specifications aim to standardize the way geospatial asset metadata is structured and queried.
@@ -31,12 +42,12 @@ to search STAC catalogs, where the features returned are STAC [Item](stac-spec/i
3142
that have common properties, links to their assets and geometries that represent the footprints of the geospatial assets.
3243

3344
The specification for STAC API is provided as files that follow the [OpenAPI](http://openapis.org/) 3.0 specification,
34-
rendered online into HTML at <https://api.stacspec.org/v1.0.0-beta.5>, in addition to human-readable documentation.
45+
rendered online into HTML at <https://api.stacspec.org/v1.0.0-rc.1>, in addition to human-readable documentation.
3546

3647
## Stability Note
3748

3849
This specification has evolved over the past couple years, and is used in production in a variety of deployments. It is
39-
currently in a 'beta' state, with no major changes anticipated. For 1.0.0-beta.5, we remain fully aligned with [OGC API -
50+
currently in a 'beta' state, with no major changes anticipated. For 1.0.0-rc.1, we remain fully aligned with [OGC API -
4051
Features](http://docs.opengeospatial.org/is/17-069r3/17-069r3.html) Version 1.0, and we are working to stay aligned
4152
as the additional OGC API components mature. This may result in minor changes as things evolve. The STAC API
4253
specification follows [Semantic Versioning](https://semver.org/), so once 1.0.0 is reached any breaking change

browseable/README.md

+15-15
Original file line numberDiff line numberDiff line change
@@ -8,20 +8,20 @@
88

99
- **OpenAPI specification:** none
1010
- **Conformance URIs:**
11-
- <https://api.stacspec.org/v1.0.0-beta.5/browseable>
12-
- <https://api.stacspec.org/v1.0.0-beta.5/core>
11+
- <https://api.stacspec.org/v1.0.0-rc.1/browseable>
12+
- <https://api.stacspec.org/v1.0.0-rc.1/core>
1313
- **[Maturity Classification](../README.md#maturity-classification):** Proposal
1414
- **Dependencies**: [STAC API - Core](../core)
1515

16-
A STAC API conforming to the `STAC API - Browseable` conformance class must be structured such that all
16+
A STAC API conforming to the *STAC API - Browseable* conformance class must be structured such that all
1717
all Items in the catalog can be accessed by following `child` and `item` link relations. This is a more significant
1818
constraint than a STAC API without this conformance class or a STAC Catalog that is available over HTTP but does not
1919
implement STAC API, neither of which have any guarantee regarding the reachability of Items. This conformance
2020
class is used to signal to users that they can fully navigate to all available Items using a UI (like [STAC Browser](https://github.com/radiantearth/stac-browser),
2121
and also makes it clear to crawlers that they can reach everything by following catalog links.
2222

2323
Recommendations for structuring Catalogs hierarchically can be found in
24-
[Structuring Catalog Hierarchies](../core/README.md#structuring-catalog-hierarchies) from the `STAC API - Core` specification.
24+
[Structuring Catalog Hierarchies](../core/README.md#structuring-catalog-hierarchies) from the *STAC API - Core* specification.
2525

2626
## Link Relations
2727

@@ -36,7 +36,7 @@ every Item in the Catalog can be accessed by traversing these relations.
3636
| `item` | various | STAC Core | The child STAC Items. |
3737

3838
Note that there is a different link relation `items` (plural)
39-
used by the `STAC API - Features` conformance class that links from a collection resource
39+
used by the *STAC API - Features* conformance class that links from a collection resource
4040
(at the `/collections/{collectionId}` endpoint) to the items in
4141
that collection (at the `/collections/{collectionId}/items` endpoint). Both of these endpoints are
4242
[derived from OGC API - Features](https://docs.opengeospatial.org/is/17-069r3/17-069r3.html#_items_).
@@ -49,8 +49,8 @@ This conformance class adds no additional endpoints.
4949

5050
## Example Landing Page for STAC API - Browseable
5151

52-
This JSON is what would be expected from an API that implements `STAC API - Browseable`. Note that the
53-
`conformsTo` array contains `https://api.stacspec.org/v1.0.0-beta.5/browseable` and the `links` array
52+
This JSON is what would be expected from an API that implements *STAC API - Browseable*. Note that the
53+
`conformsTo` array contains `https://api.stacspec.org/v1.0.0-rc.1/browseable` and the `links` array
5454
contains `child` link relations. The semantics of this conformance class imply that the the catalogs
5555
linked to by these `child` link relations then have further `child` or `item` link relations that
5656
eventually reach all items in this catalog.
@@ -63,39 +63,39 @@ eventually reach all items in this catalog.
6363
"description": "This Catalog aims to demonstrate the a simple landing page",
6464
"type": "Catalog",
6565
"conformsTo" : [
66-
"https://api.stacspec.org/v1.0.0-beta.5/core",
67-
"https://api.stacspec.org/v1.0.0-beta.5/browseable"
66+
"https://api.stacspec.org/v1.0.0-rc.1/core",
67+
"https://api.stacspec.org/v1.0.0-rc.1/browseable"
6868
],
6969
"links": [
7070
{
7171
"rel": "self",
7272
"type": "application/json",
73-
"href": "https://stacserver.org"
73+
"href": "https://stac-api.example.com"
7474
},
7575
{
7676
"rel": "root",
7777
"type": "application/json",
78-
"href": "https://stacserver.org"
78+
"href": "https://stac-api.example.com"
7979
},
8080
{
8181
"rel": "service-desc",
8282
"type": "application/vnd.oai.openapi+json;version=3.0",
83-
"href": "https://stacserver.org/api"
83+
"href": "https://stac-api.example.com/api"
8484
},
8585
{
8686
"rel": "service-doc",
8787
"type": "text/html",
88-
"href": "https://stacserver.org/api.html"
88+
"href": "https://stac-api.example.com/api.html"
8989
},
9090
{
9191
"rel": "child",
9292
"type": "application/json",
93-
"href": "https://stacserver.org/catalogs/sentinel-2",
93+
"href": "https://stac-api.example.com/catalogs/sentinel-2",
9494
},
9595
{
9696
"rel": "child",
9797
"type": "application/json",
98-
"href": "https://stacserver.org/catalogs/landsat-8",
98+
"href": "https://stac-api.example.com/catalogs/landsat-8",
9999
}
100100
]
101101
}

build/index.html

+6-4
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,12 @@
1313
<h1>STAC API</h1>
1414
<h2>Conformance Classes</h2>
1515
<ul>
16-
<li><a href="core/">Core</a></li>
17-
<li><a href="item-search/">Item Search</a></li>
18-
<li><a href="ogcapi-features/">STAC Features</a></li>
19-
<li><a href="collections/">Collections</a></li>
16+
<li><a href="core/">STAC API - Core</a></li>
17+
<li><a href="item-search/">STAC API - Item Search</a></li>
18+
<li><a href="ogcapi-features/">STAC API - Features</a></li>
19+
<li><a href="collections/">STAC API - Collections</a></li>
20+
<li><a href="children/">STAC API - Children</a></li>
21+
<li><a href="browseable/">STAC API - Browseable</a></li>
2022
</ul>
2123
</body>
2224

0 commit comments

Comments
 (0)