ESA title
June 08, 2021

The first release version of the STAC specification is published

Posted in AIREO related communications Community news

A number of key changes have happened to the core specification. Many STAC extensions have been moved from the core to a new GitHub Organization called ‘stac-extensions’.  There are now just 4 extensions in core: View, EO, Scientific Citation and Projection.

There are also a number of new extensions that have been created since the 1.0.0-beta.2 release. The processing extension provides additional lineage and processing level information for using STAC to track the state of products in an image processing chain. The old ‘checksum’ extension evolved to become the file extension, adding new fields like data type, no data value, byte order and size that are useful for clients to know more about the properties of the asset they may download or stream. And the card4l extension translates the CEOS Analysis Ready Data standard into JSON and STAC, bringing together a number of other STAC extensions to fully describe ARD.

The other changes include adding a required ‘type’ field to Collections and Catalogs, so that clients can more easily distinguish them. And the ‘collections asset’ got upgraded to just be a part of the core specification: Collections can now add Asset objects without having to explicitly declare an extension. Past that were a number of more minor changes, see the changelog for complete details.

Several tools already support STAC 1.0.0, which you can use today:

  • Clients: STAC Browser will transform any STAC implementation into an interactive website, and provides an easy way to get a STAC Browser for free by just submitting your catalog (it also provides a definitive list of STAC Tools). Rounding out the clients, Rocket is a great visualization tool, enabling searching and browsing of STAC catalogs.
  • Servers: A number of servers help you share STAC, and most enable search of STAC with the STAC API Spec (which is in beta releases but maturing quickly). There are great options in many languages, with Franklin (Scala), Resto (PHP), Staccato (Java) and STAC Server (javascript/node), and STAC-FastAPI for python will support 1.0.0 soon.
  • Data: CBERS (learn more) has been an amazing early adopter of STAC and was the first to 1.0.0, plus Sentinel 2, and Landsat 8 (available through resto in that link, and other services as well, with USGS soon providing an official STAC 1.0.0 Landsat catalog), and NASA Avris data are available as STAC 1.0.0. The Google Earth Engine Data Catalog is also available as STAC. Many more should upgrade in short order, as they migrate using the recently released tools (stac-migrate, PySTAC, stactools cli, DotNetStac and more).
  • Utilities: Then, several tools help users create and work with STAC. There are validators in node.js and python, the latter of which powers STACLint, an online tool where you can paste in STAC JSON or point at a URL and get validation. And then PySTAC is a python library to read, create and modify STAC, with stactools providing a command-line interface on top of it. Two libraries round out the ecosystem supporting 1.0.0 today: stac4s is a scala library that provides the STAC primitives and DotNetStac does the same for .NET.


To subscribe to the AIREO network or to contact the AIREO Team please email