Skip to content

Commit

Permalink
Merge pull request #153 from radiantearth/dev
Browse files Browse the repository at this point in the history
dev -> master merge for 1.0.0-beta.2
  • Loading branch information
cholmes committed Jun 8, 2021
2 parents 77c77c6 + 4527f64 commit 1615434
Show file tree
Hide file tree
Showing 89 changed files with 8,840 additions and 286 deletions.
19 changes: 16 additions & 3 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,9 +27,6 @@ jobs:
- image: circleci/node:12
steps:
- checkout
- run:
name: init_submodules
command: git submodule update --init --recursive
- save_cache:
key: v0-repo-{{ .Branch }}-{{ .Revision }}
paths:
Expand Down Expand Up @@ -72,6 +69,16 @@ jobs:
command: |
ssh-keyscan github.com >> ~/.ssh/known_hosts
npm run publish-openapi -- $CIRCLE_TAG
check-core-changes:
working_directory: ~/stac
docker:
- image: circleci/node:12
steps:
- *restore_repo
- *restore_dependencies
- run:
name: check-core-changes
command: npm run check-stac-spec-changes --compare-to=<< pipeline.git.base_revision >>

workflows:
version: 2
Expand All @@ -87,6 +94,12 @@ workflows:
filters:
tags:
only: /^v.*/
- check-core-changes:
requires:
- validate
filters:
tags:
only: /^v.*/
- publish:
requires:
- build
Expand Down
11 changes: 4 additions & 7 deletions .circleci/rc.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,13 @@ plugins:
# Apply some recommended defaults for consistency
- remark-preset-lint-consistent
- remark-preset-lint-recommended
# No HTML for security - can't activate yet due to STAC logo in README.md
# - lint-no-html
# - lint-no-html
# General formatting
- - remark-lint-emphasis-marker
- '*'
- remark-lint-hard-break-spaces
- remark-lint-blockquote-indentation
- remark-lint-no-consecutive-blank-lines
# Detect overly long lines - be liberal for now and don't restrict to 80 yet
- - remark-lint-maximum-line-length
- 150
# Code
Expand All @@ -23,13 +21,14 @@ plugins:
- 'fenced'
# Headings
- remark-lint-heading-increment
- remark-lint-no-duplicate-headings
- remark-lint-no-multiple-toplevel-headings
- remark-lint-no-heading-punctuation
- - remark-lint-maximum-heading-length
- 70
- - remark-lint-heading-style
- atx
- - remark-lint-no-shortcut-reference-link
- false
# Lists
- remark-lint-list-item-bullet-indent
- remark-lint-ordered-list-marker-style
Expand All @@ -41,6 +40,4 @@ plugins:
- space
# Tables
- remark-lint-table-pipes
# - remark-lint-table-pipe-alignment # Wait for https://github.com/remarkjs/remark-lint/issues/226
# Urls
- remark-lint-no-literal-urls
- remark-lint-no-literal-urls
1 change: 1 addition & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,5 @@

- [ ] This PR is made against the dev branch (all proposed changes except releases should be against dev, not master).
- [ ] This PR has **no** breaking changes.
- [ ] This PR does not make any changes to the core spec in the `stac-spec` directory (these are included as a subtree and should be updated directly in [radiantearth/stac-spec](https://github.com/radiantearth/stac-spec))
- [ ] I have added my changes to the [CHANGELOG](https://github.com/radiantearth/stac-api-spec/blob/dev/CHANGELOG.md) **or** a CHANGELOG entry is not required.
3 changes: 0 additions & 3 deletions .gitmodules

This file was deleted.

1 change: 1 addition & 0 deletions .remarkignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
/CHANGELOG.md
35 changes: 33 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,39 @@ 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).

## [Unreleased][]
## [Unreleased]

## [v1.0.0-beta.1][] - 2020-12-10
### Added

### Changed

### Deprecated

### Removed

### Fixed

## [v1.0.0-beta.2] - 2020-06-01

### Added
- Added Filter extension to integrate OAFeat Part 3 CQL
- Catalog and Collection definitions now have required field "type"
- Added recommendation to enable CORS for public APIs

### Changed
- Updated all STAC versions to 1.0.0
- Passing the `ids` parameter to an item search does not deactivate other query parameters [#125](https://github.com/radiantearth/stac-api-spec/pull/125)
- The first extent in a Collection is always the overall extent, followed by more specific extents. [opengeospatial/ogcapi-features#520](https://github.com/opengeospatial/ogcapi-features/pull/520)

### Deprecated
- Query extension is now deprecated. Replaced by the Filter extension using OGC CQL.

### Removed

### Fixed
- Updated text description of root ('/') endpoint (also called landing page) that the return type is a Catalog

## [v1.0.0-beta.1] - 2020-12-10

### Added
- The landing page returns the conformance classes in a property `conformsTo`, which mirrors `GET /conformances` from OGC APIs.
Expand Down Expand Up @@ -42,3 +72,4 @@ for STAC API releases prior to or equal to version 0.9.0.

[Unreleased]: <https://github.com/radiantearth/stac-api-spec/compare/master...dev>
[v1.0.0-beta.1]: <https://github.com/radiantearth/stac-api-spec/tree/v1.0.0-beta.1>
[v1.0.0-beta.2]: <https://github.com/radiantearth/stac-api-spec/tree/v1.0.0-beta.2>
4 changes: 2 additions & 2 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ members of the project's leadership.
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
available at <https://www.contributor-covenant.org/version/1/4/code-of-conduct.html>

[homepage]: <https://www.contributor-covenant.org>

For answers to common questions about this code of conduct, see
<https://www.contributor-covenant.org/faq>

[homepage]: <https://www.contributor-covenant.org>
31 changes: 21 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,15 @@
<!--lint disable no-html-->
<img src="https://github.com/radiantearth/stac-site/raw/master/images/logo/stac-030-long.png" alt="stac-logo" width="700"/>

# STAC API

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

## About

The SpatioTemporal Asset Catalog (STAC) specification aims to standardize the way geospatial assets are exposed online and queried.
Expand All @@ -11,26 +19,26 @@ time. The core STAC specification lives at [gitub.com/radiantearth/stac-spec](ht
A STAC API is the dynamic version of a SpatioTemporal Asset Catalog. It returns a STAC [Catalog](stac-spec/catalog-spec/catalog-spec.md),
[Collection](stac-spec/collection-spec/collection-spec.md), [Item](stac-spec/item-spec/item-spec.md),
or a STAC API [ItemCollection](fragments/itemcollection/README.md), depending on the endpoint.
Catalogs and Collections are JSON, while Items and ItemCollections are GeoJSON-compliant entities with foreign members.
Typically, a Feature is used when returning a single Item, and FeatureCollection when multiple Items (rather than a JSON array of Item entities).
Catalog and Collection objects are JSON, while Item and ItemCollection objects are GeoJSON-compliant entities with foreign members.
Typically, a Feature is used when returning a single Item object, and FeatureCollection when multiple Item objects (rather than a
JSON array of Item entities).

The API can be implemented in compliance with the *[OGC API - Features](http://docs.opengeospatial.org/is/17-069r3/17-069r3.html)* standard
(we'll use OAFeat for shorthand). In this case STAC API can be thought of as a specialized Features API
to search STAC Catalogs, where the features returned are STAC [Items](stac-spec/item-spec/item-spec.md),
to search STAC catalogs, where the features returned are STAC [Item](stac-spec/item-spec/item-spec.md) objects,
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.1>, in addition to human-readable documentation.
rendered online into HTML at <https://api.stacspec.org/v1.0.0-beta.2>, 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-beta 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 will require the spec to
go to 2.0.0.
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
will require the spec to go to 2.0.0.

## Communication

Expand All @@ -45,11 +53,11 @@ The **[Overview](overview.md)** document describes all the various parts of the

**STAC API - Core Specification:**
The *[core](core/)* folder describes the core STAC API specification that enables browsing catalogs and
retrieving the API capabilities. This includes the OpenAPI schemas for STAC items, catalogs and collections.
retrieving the API capabilities. This includes the OpenAPI schemas for STAC Item, Catalog and Collection objects.

**STAC API - Item Search Specification:**
The *[item-search](item-search)* folder contains the Item Search specification, which enables
cross-collection search of STAC Items at a `search` endpoint, as well as a number of extensions.
cross-collection search of STAC Item objects at a `search` endpoint, as well as a number of extensions.

**STAC API - Features:**
The *[ogcapi-features](ogcapi-features)* folder describes how a STAC API can fully implement [OGC API -
Expand All @@ -73,6 +81,9 @@ Sub-modules aren't checked out by default, so to get the directory populated
either use `git submodule update --init --recursive` if you've already cloned it,
or clone from the start with `git clone --recursive git@github.com:radiantearth/stac-api-spec.git`.

**Implementation Recommendations:** Recommendations for implementing a STAC API may be found [here](implementation.md).
These are mostly concerns that apply to an entire API implementation and are not part of the specification itself.

## Contributing

Anyone building software that catalogs imagery or other geospatial assets is welcome to collaborate.
Expand Down
2 changes: 1 addition & 1 deletion build/swagger-config.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
openapi: 3.0.3
info:
title: STAC API - Complete
version: 1.0.0-beta.1
version: 1.0.0-beta.2
apis:
- url: 'build/core/openapi.yaml'
paths:
Expand Down
Loading

0 comments on commit 1615434

Please sign in to comment.