Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

1.0.0-beta.3 release (dev -> master) #191

Merged
merged 24 commits into from
Aug 10, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
fc2fb64
Change deprecated descrition; query ext as sch to be deprecated
fredliporace Jun 8, 2021
563b510
Query to be deprecated in 1.x
fredliporace Jun 17, 2021
44b0a0b
Merge pull request #157 from fredliporace/fl-dev
fredliporace Jul 1, 2021
4c1a5dd
Remove stac version and extensions from item collection (#171)
philvarner Jul 15, 2021
d53ae78
add clarifying statement about bbox parameter formatting (#169)
philvarner Jul 15, 2021
452149f
reorganize extensions list to avoid long lines and html (#170)
philvarner Jul 15, 2021
58a9bf8
add detailed description of datetime parameter use (#162)
philvarner Aug 2, 2021
e17ee4d
change: refactor Filter Extension conformance classes (#163)
philvarner Aug 2, 2021
87812cf
fix: make description in Item Search openapi GET/POST impl consistent…
philvarner Aug 2, 2021
5e79a1e
Contributing updates (#173)
philvarner Aug 2, 2021
9b274a1
clarify 3d bbox query over 2d geometry (#174)
philvarner Aug 2, 2021
9581258
add link relation table to each conformance class (#176)
philvarner Aug 2, 2021
36bbb50
fix filter queryables definition to at least have a content type and …
philvarner Aug 2, 2021
ab71e1c
add extensions section to ocgapi-features, cleanup other extensions s…
philvarner Aug 2, 2021
191a460
fix redoc build and cleanup warnings (#185)
philvarner Aug 3, 2021
d608839
fix circleci docker image version
philvarner Aug 3, 2021
6c6b71c
add clarifying language about using items instead of item (#172)
philvarner Aug 3, 2021
0d317bd
add third-party extension (#189)
Aug 4, 2021
2d0fef6
fix text around cql support (#187)
philvarner Aug 6, 2021
5e41c30
add collections api definition (#179)
philvarner Aug 6, 2021
55bf82f
fix remark errors
philvarner Aug 6, 2021
68a2cd8
update version from 1.0.0-beta.2 to 1.0.0-beta.3 (#190)
philvarner Aug 9, 2021
1cf2149
rename Queryable First Operand to Queryable Second Operand (#192)
philvarner Aug 10, 2021
a1d7f94
Merge branch 'master' into dev
philvarner Aug 10, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 1 addition & 2 deletions .circleci/build-openapi.sh
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,7 @@ FNAMES=`find . -name "openapi.yaml" -not -path "./fragments/*" -not -path "./nod
for fin in $FNAMES; do
fout=./build/$fin
mkdir -p ${fout%/*}
#speccy resolve $fin > $fout
swagger-cli bundle $fin -o $fout -t yaml
openapi bundle --ext yaml --output $fout $fin
cp build/index.html ${fout%/*}/
done

Expand Down
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: circleci/node:12
- image: cimg/node:14.7
steps:
- checkout
- save_cache:
Expand All @@ -44,7 +44,7 @@ jobs:
build:
working_directory: ~/stac
docker:
- image: circleci/node:12
- image: cimg/node:14.7
steps:
- *restore_repo
- *restore_dependencies
Expand All @@ -58,7 +58,7 @@ jobs:
publish:
working_directory: ~/stac
docker:
- image: circleci/node:12
- image: cimg/node:14.7
steps:
- *restore_repo
- *restore_dependencies
Expand All @@ -72,7 +72,7 @@ jobs:
check-core-changes:
working_directory: ~/stac
docker:
- image: circleci/node:12
- image: cimg/node:14.7
steps:
- *restore_repo
- *restore_dependencies
Expand Down
2 changes: 1 addition & 1 deletion .circleci/rc.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ plugins:
# Apply some recommended defaults for consistency
- remark-preset-lint-consistent
- remark-preset-lint-recommended
# - lint-no-html
- lint-no-html
# General formatting
- - remark-lint-emphasis-marker
- '*'
Expand Down
24 changes: 23 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ 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]

### Added
Expand All @@ -14,6 +15,27 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

### Removed

### Fixed

## [v1.0.0-beta.3] - 2020-08-06

### Added
- Added STAC API - Collections definition (subset of STAC API - Features)
- More thorough definitions for valid `datetime` and `bbox` query parameter values.

### Changed
- Query extension not deprecated; recommendation to use Filter (https://github.com/radiantearth/stac-api-spec/pull/157)
- Filter Extension conformance classes refactored to better align with STAC API use cases.
- Renamed conformance class "Queryable First Operand"
(https://api.stacspec.org/v1.0.0-beta.3/item-search#filter:queryable-first-operand) to
"Queryable Second Operand"
(https://api.stacspec.org/v1.0.0-beta.3/item-search#filter:queryable-second-operand)

### Deprecated

### Removed
- Remove stac_version and stac_extensions fields in ItemCollection

### Fixed

## [v1.0.0-beta.2] - 2020-06-01
Expand Down Expand Up @@ -72,4 +94,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>
[v1.0.0-beta.2]: <https://github.com/radiantearth/stac-api-spec/tree/v1.0.0-beta.2>
77 changes: 41 additions & 36 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,16 @@
# STAC API Development & Release Process

## Contributing

Anyone building software that catalogs imagery or other geospatial assets is welcome to collaborate.
Our goal is to be a collaboration of developers, not [architecture astronauts](http://www.joelonsoftware.com/articles/fog0000000018.html).
Pull Requests are the primary method of contributing to the spec itself, and everyone is welcome to submit
changes. Suggestions for changes to the core will be taken with higher priority if a clear implementation
of STAC API has been built that can highlight the problem.

The best way to contribute is to try to implement the specification and give feedback on what worked
well and what could be improved. Any proposed changes to the specification should be done as pull requests. Ideally a
proposed change would also update all of the examples, but for now that is not required - the team
can validate and update all examples before a release. But it is recommended to update at least a
couple examples to reflect the change.
We consider everyone using the specification to catalog their data to be a 'contributor', as STAC is
really about the end result of more interoperable data, not just creating a spec for the sake of it.
So if you want to help then the best thing you can do is make new catalogs or build software that uses
the spec. And please do give us feedback. The best place to do so is on our
[gitter channel](https://gitter.im/SpatioTemporal-Asset-Catalog/Lobby). If you are interested in helping
but aren't sure where to, then see the [stac-ecosystem](https://github.com/stac-utils/stac-ecosystem) repo
for ideas on projects to advance STAC.

## Development Process

Expand All @@ -25,50 +26,56 @@ examples.
### Submitting Pull Requests

Any proposed changes to the specification should be done as pull requests. Please make these
requests against the [`dev`](https://github.com/radiantearth/stac-api-spec/tree/dev) branch (this will
requests against the [dev](https://github.com/radiantearth/stac-api-spec/tree/dev) branch (this will
require you to switch from the default of 'master', which we keep so it displays first).

Creating a Pull Request will show our PR template, which includes checkbox reminders for a number
of things.

- Adding an entry the [CHANGELOG](CHANGELOG.md). If the change is more editorial and minor then this
is not required, but any change to the actual specification should definitely have one.
- Base the PR against dev, as mentioned above - even if the branch was made off of dev this reminds
you to change the base in GitHub's PR creation page.
- Highlight if the PR makes breaking changes to the specification (in beta there can still be
select breaking changes, but after 1.0 this will change)
of things, including adding an entry the [CHANGELOG](CHANGELOG.md) and making the PR against the `dev`
branch.

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

All pull requests that modify or create JSON examples should use [JSON
formatter](https://jsonformatter.org/) to keep files consistent across the repo.
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.

All pull requests additionally require a review of two STAC core team members. Releases are cut
from dev to master (and require 3 approvals).

### Using check-markdown locally
### Check files

The same check-markdown program 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.
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.

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:

```bash
npm install
```
Then to do the check on your markdown you run:

Then to do the check for markdown and examples you run:

```bash
npm run check
```

This will spit out the same texts that you see online, and you can then go and fix your markdown or examples.

To just check the markdown, run:

```bash
npm run check-markdown
```

This will spit out the same text that you see online, and you can then go and fix your markdown.
To just validate the OpenAPI definitions, run:

```bash
npm run check-openapi
```

### Working with the OpenAPI files

Expand All @@ -78,6 +85,10 @@ various parts of the specification. Currently we expect developers to be up to s
OpenAPI and using their own tools to modify things. In the future we will provide tools to make it easier to work with.
There are html version of the OpenAPI files online at `https://api.stacspec.org/{version_number}` with `{version_number}` being the git tag or `dev`.

Often, updating
the JSON Schema and OpenAPI files is one of the harder aspects of creating a change, so please, don't
hesitate to ask for help in doing this!

## Release Process

To release a new version of the STAC spec the following list of tasks must be done.
Expand Down Expand Up @@ -125,10 +136,4 @@ with no changes to the spec - just updating the version numbers.

## Governance

The goal of STAC is to have a Project Steering Committee of core contributors, representing diverse organizations and
implementations. To bootstrap Chris Holmes is the Benevolent Dictator for
Life or until a PSC is formed, so we don't get stuck waiting for votes when there is not enough activity.

The longer term goal is to contribute STAC spec to the Open Geospatial Consortium, and indeed to align as much as possible
with their next generation spec. The current plan is to contribute STAC API as an OGC 'community module' when we reach
1.0.0, and to work to have it become part of the OGC API baseline.
The STAC API spec follows the same governance as the [core STAC spec](https://github.com/radiantearth/stac-spec/blob/master/process.md#governance).
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ 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.2>, in addition to human-readable documentation.
rendered online into HTML at <https://api.stacspec.org/v1.0.0-beta.3>, in addition to human-readable documentation.

## Stability Note

Expand Down
50 changes: 31 additions & 19 deletions build/index.html
Original file line number Diff line number Diff line change
@@ -1,20 +1,32 @@
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta http-equiv="x-ua-compatible" content="ie=edge">
<link rel="shortcut icon" href="../assets/images/favicon.png">
<title>STAC API</title>
</head>
<body>
<div id="content"></div>
<script src="https://cdn.jsdelivr.net/npm/redoc@next/bundles/redoc.standalone.js"> </script>
<script type="text/javascript">
Redoc.init('openapi.yaml', {
expandResponses:"200,201,202,203,204",
pathInMiddlePanel: true,
hideDownloadButton: true
}, document.getElementById('content'));
</script>
</body>
<!DOCTYPE html>
<html>

<head>
<title>STAC API</title>
<!-- needed for adaptive design -->
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="https://fonts.googleapis.com/css?family=Montserrat:300,400,700|Roboto:300,400,700" rel="stylesheet">

<!--
ReDoc doesn't change outer page styles
-->
<style>
body {
margin: 0;
padding: 0;
}
</style>
</head>

<body>
<redoc
spec-url='openapi.yaml'
expandResponses='200,201,202,203,204'
pathInMiddlePanel='true'
hideDownloadButton='true'
></redoc>
<script src="https://cdn.jsdelivr.net/npm/redoc@next/bundles/redoc.standalone.js"> </script>
</body>

</html>
12 changes: 3 additions & 9 deletions build/swagger-config.yaml
Original file line number Diff line number Diff line change
@@ -1,19 +1,13 @@
openapi: 3.0.3
info:
title: STAC API - Complete
version: 1.0.0-beta.2
version: 1.0.0-beta.3
apis:
- url: 'build/core/openapi.yaml'
paths:
exclude:
- "^\/$"
- url: 'build/ogcapi-features/openapi.yaml'
#- url: 'build/ogcapi-features/extensions/transaction/openapi.yaml'
# dereference:
# circular: ignore
- url: 'build/item-search/openapi.yaml'
#dereference:
# circular: ignore
- url: 'build/ogcapi-features/openapi.yaml'
- url: 'build/ogcapi-features/extensions/version/openapi.yaml'
#dereference:
# circular: ignore
- url: 'build/ogcapi-features/extensions/transaction/openapi.yaml'
Loading