/version

Versioning Indicators Extension Specification

Apache License 2.0Apache-2.0

Versioning Indicators Extension Specification

This document explains the Versioning Indicators Extension to the SpatioTemporal Asset Catalog (STAC) specification.

This extension allows to version STAC Collections and STAC Items. Therefore, it also allows to deprecate legacy versions. Only fields and possible link relation types are defined in this extension, but it does NOT suggest any versioning best practices to structure static or dynamic catalogs. Instead check the Versioning Best Practices for Catalogs.

Item Properties and Collection Fields

For Items, the fields are placed in the properties. For Collections, the fields are placed on the top level of the Collection.

Field Name Type Description
version string REQUIRED. Version of the Collection or Item.
deprecated boolean Specifies that the Collection or Item is deprecated with the potential to be removed. Defaults to false. It should be transitioned out of usage as soon as possible and users should refrain from using it in new projects. A link with relation type latest-version SHOULD be added to the links and MUST refer to the resource that can be used instead.

Relation types

The following types should be used as applicable rel types for the
Link Object to reference the latest version, the predecessor version and successor versions. These are all following RFC 5829.

Type Description
latest-version This link points to a resource containing the latest (e.g., current) version.
predecessor-version This link points to a resource containing the predecessor version in the version history.
successor-version This link points to a resource containing the successor version in the version history.

Contributing

All contributions are subject to the STAC Specification Code of Conduct. For contributions, please follow the STAC specification contributing guide Instructions for running tests are copied here for convenience.

Running tests

The same checks that run as checks on PR's are part of the repository and can be run locally to verify that changes are valid. To run tests locally, you'll need npm, which is a standard part of any node.js installation.

First you'll need to install everything with npm once. Just navigate to the root of this repository and on your command line run:

npm install

Then to check markdown formatting and test the examples against the JSON schema, you can run:

npm test

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

If the tests reveal formatting problems with the examples, you can fix them with:

npm run format-examples