Skip to content

Commit

Permalink
Merge pull request #291 from radiantearth/dev
Browse files Browse the repository at this point in the history
v.1.0.0-rc.1 release merge to master
  • Loading branch information
philvarner authored Mar 21, 2022
2 parents a93cfec + e1f2910 commit 62003db
Show file tree
Hide file tree
Showing 46 changed files with 16,892 additions and 1,115 deletions.
2 changes: 1 addition & 1 deletion .circleci/.spectral-fragments.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,6 @@ rules:
openapi-tags: off
info-contact: off
oas3-api-servers: off
oas3-unused-components-schema: off
oas3-unused-component: off
operation-operationId: off
oas3-parameter-description: true
8 changes: 4 additions & 4 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ jobs:
validate:
working_directory: ~/stac
docker:
- image: cimg/node:14.7
- image: cimg/node:16.14
steps:
- checkout
- save_cache:
Expand All @@ -44,7 +44,7 @@ jobs:
build:
working_directory: ~/stac
docker:
- image: cimg/node:14.7
- image: cimg/node:16.14
steps:
- *restore_repo
- *restore_dependencies
Expand All @@ -58,7 +58,7 @@ jobs:
publish:
working_directory: ~/stac
docker:
- image: cimg/node:14.7
- image: cimg/node:16.14
steps:
- *restore_repo
- *restore_dependencies
Expand All @@ -72,7 +72,7 @@ jobs:
check-core-changes:
working_directory: ~/stac
docker:
- image: cimg/node:14.7
- image: cimg/node:16.14
steps:
- *restore_repo
- *restore_dependencies
Expand Down
43 changes: 0 additions & 43 deletions .circleci/rc.yaml

This file was deleted.

3 changes: 2 additions & 1 deletion .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
**Related Issue(s):** #
**Related Issue(s):**

- #

**Proposed Changes:**

Expand Down
1 change: 0 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,6 @@ build/Release
# Dependency directories
node_modules/
jspm_packages/
package-lock.json

# Typescript v1 declaration files
typings/
Expand Down
1 change: 1 addition & 0 deletions .nvmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
16
33 changes: 33 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,37 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [v1.0.0-rc.1] - 2022-03-17

### Added

- The CQL2 Accent and Case-insensitive Comparison
(`http://www.opengis.net/spec/cql2/1.0/conf/accent-case-insensitive-comparison`) conformance class
adds the ACCENTI and CASEI functions for case-insensitive comparison. These replace the UPPER and
LOWER psuedo-functions that were previously part of the Advanced Comparison Operators class.

### Changed

- Query Extension is no longer deprecated.
- Children conformance class now requires the /children endpoint includes all child catalogs or collections
referenced via `child` link relations from the Landing Page
- Clarified behavior of Transaction Extension endpoints:
- PUT and PATCH of a body that changes the `collection` or `id` is disallowed.
- POST, PUT, and PATCH do not need to include the `collection` attribute, as it should be derived from the URL.
- 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
the server can derive a valid Item, e.g., by populating the id and collection fields or adding links
- Likewise, POST can be used with a body of a FeatureCollection that contains features that meet the same constraints.
- Specifications now use the term "must" instead of "shall". The semantics of these words are identical.
- Conformance class for Item Search Filter is now
`https://api.stacspec.org/v1.0.0-beta.5/item-search#filter`, whereas before it was incorrectly stated as
`https://api.stacspec.org/v1.0.0-beta.5/item-search#filter:item-search-filter`

### Deprecated

### Removed

### Fixed

## [v1.0.0-beta.5] - 2022-01-14

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

### Deprecated

Expand Down
7 changes: 4 additions & 3 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,10 +48,11 @@ from dev to master (and require 3 approvals).

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.
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.
Any recent version of node/npm should work.

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

Install the dependencies with npm:

```bash
npm install
Expand Down
15 changes: 13 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,24 @@
# STAC API

- [STAC API](#stac-api)
- [Releases](#releases)
- [About](#about)
- [Stability Note](#stability-note)
- [Maturity Classification](#maturity-classification)
- [Communication](#communication)
- [In this repository](#in-this-repository)
- [Contributing](#contributing)

## Releases

- [v1.0.0-rc.1](https://github.com/radiantearth/stac-api-spec/tree/v1.0.0-rc.1)
- [v1.0.0-beta.5](https://github.com/radiantearth/stac-api-spec/tree/v1.0.0-beta.5)
- [v1.0.0-beta.4](https://github.com/radiantearth/stac-api-spec/tree/v1.0.0-beta.4)
- [v1.0.0-beta.3](https://github.com/radiantearth/stac-api-spec/tree/v1.0.0-beta.3)
- [v1.0.0-beta.2](https://github.com/radiantearth/stac-api-spec/tree/v1.0.0-beta.2)
- [v1.0.0-beta.1](https://github.com/radiantearth/stac-api-spec/tree/v1.0.0-beta.1)
- [v0.9.0](https://github.com/radiantearth/stac-api-spec/tree/v0.9.0)

## About

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

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

## Stability Note

This specification has evolved over the past couple years, and is used in production in a variety of deployments. It is
currently in a 'beta' state, with no major changes anticipated. For 1.0.0-beta.5, we remain fully aligned with [OGC API -
currently in a 'beta' state, with no major changes anticipated. For 1.0.0-rc.1, we remain fully aligned with [OGC API -
Features](http://docs.opengeospatial.org/is/17-069r3/17-069r3.html) Version 1.0, and we are working to stay aligned
as the additional OGC API components mature. This may result in minor changes as things evolve. The STAC API
specification follows [Semantic Versioning](https://semver.org/), so once 1.0.0 is reached any breaking change
Expand Down
30 changes: 15 additions & 15 deletions browseable/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,20 +8,20 @@

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

A STAC API conforming to the `STAC API - Browseable` conformance class must be structured such that all
A STAC API conforming to the *STAC API - Browseable* conformance class must be structured such that all
all Items in the catalog can be accessed by following `child` and `item` link relations. This is a more significant
constraint than a STAC API without this conformance class or a STAC Catalog that is available over HTTP but does not
implement STAC API, neither of which have any guarantee regarding the reachability of Items. This conformance
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),
and also makes it clear to crawlers that they can reach everything by following catalog links.

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

## Link Relations

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

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

## Example Landing Page for STAC API - Browseable

This JSON is what would be expected from an API that implements `STAC API - Browseable`. Note that the
`conformsTo` array contains `https://api.stacspec.org/v1.0.0-beta.5/browseable` and the `links` array
This JSON is what would be expected from an API that implements *STAC API - Browseable*. Note that the
`conformsTo` array contains `https://api.stacspec.org/v1.0.0-rc.1/browseable` and the `links` array
contains `child` link relations. The semantics of this conformance class imply that the the catalogs
linked to by these `child` link relations then have further `child` or `item` link relations that
eventually reach all items in this catalog.
Expand All @@ -63,39 +63,39 @@ eventually reach all items in this catalog.
"description": "This Catalog aims to demonstrate the a simple landing page",
"type": "Catalog",
"conformsTo" : [
"https://api.stacspec.org/v1.0.0-beta.5/core",
"https://api.stacspec.org/v1.0.0-beta.5/browseable"
"https://api.stacspec.org/v1.0.0-rc.1/core",
"https://api.stacspec.org/v1.0.0-rc.1/browseable"
],
"links": [
{
"rel": "self",
"type": "application/json",
"href": "https://stacserver.org"
"href": "https://stac-api.example.com"
},
{
"rel": "root",
"type": "application/json",
"href": "https://stacserver.org"
"href": "https://stac-api.example.com"
},
{
"rel": "service-desc",
"type": "application/vnd.oai.openapi+json;version=3.0",
"href": "https://stacserver.org/api"
"href": "https://stac-api.example.com/api"
},
{
"rel": "service-doc",
"type": "text/html",
"href": "https://stacserver.org/api.html"
"href": "https://stac-api.example.com/api.html"
},
{
"rel": "child",
"type": "application/json",
"href": "https://stacserver.org/catalogs/sentinel-2",
"href": "https://stac-api.example.com/catalogs/sentinel-2",
},
{
"rel": "child",
"type": "application/json",
"href": "https://stacserver.org/catalogs/landsat-8",
"href": "https://stac-api.example.com/catalogs/landsat-8",
}
]
}
Expand Down
10 changes: 6 additions & 4 deletions build/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,12 @@
<h1>STAC API</h1>
<h2>Conformance Classes</h2>
<ul>
<li><a href="core/">Core</a></li>
<li><a href="item-search/">Item Search</a></li>
<li><a href="ogcapi-features/">STAC Features</a></li>
<li><a href="collections/">Collections</a></li>
<li><a href="core/">STAC API - Core</a></li>
<li><a href="item-search/">STAC API - Item Search</a></li>
<li><a href="ogcapi-features/">STAC API - Features</a></li>
<li><a href="collections/">STAC API - Collections</a></li>
<li><a href="children/">STAC API - Children</a></li>
<li><a href="browseable/">STAC API - Browseable</a></li>
</ul>
</body>

Expand Down
Loading

0 comments on commit 62003db

Please sign in to comment.