Schema Versioning Policy

The shortbread schema will have to change over time to keep up with changes to OpenStreetMap data, but also because we improve the tools for generating and using the vector tiles and as we gain a better understanding on how to style vector tiles in better ways. On the other hand we need some stability in this standard for users to rely on.

New versions of this schema will come out from time to time, there is no fixed schedule.

Version numbers

Version numbers are of the form MAJOR.MINOR, where MAJOR and MINOR are positive integers. A style written for version X.Y of the schema should work on any tilesets with the same MAJOR version and an equal or greater MINOR version.

Within the same MAJOR.MINOR version the only allowed changes are editorial or formatting changes that would not change if a tileset follows the schema. In cases where the specification is ambigous or could reasonably be interpreted in multiple ways notes may be added indicating the preferred interpretation. Information about future changes may be added such as depreciation notices.

Minor version

A new minor version must be usable by any styles written to the previous minor version. This means the only changes that can be added are forwards-compatible. This includes

Minor revisions must not

We reserve the right to make changes that we would normally not do, if actual tagging in OpenStreetMap changes in a way that it doesn’t make sense any more.

It is possible that a style written for a specific implementation of the schema may stop working with minor changes if the implementation relied on behavior that was not fully defined. To avoid this, implementers should raise issues about any ambiguities so their implementation is more likely to be compatible with the next minor revision.

For tile set publishers it should usually be okay to update their tool chain to use the newest minor version without breaking their users styles, but it is, of course, up to them how to handle the upgrade process.

Major version

Major revisions may change any element of the specification, including removing layers. A new major revision should have at least one change not allowed in a minor revision, so some styles will require changes.

Tile set publishers probably want to think about supporting multiple major versions at the same time to allow style writers and users to move to the new version, but it is, of course, up to them how to handle the upgrade process. We are concious of the fact that upgrading to a new major schema version incurs a cost from all users and will not have new major versions too often.