SFRA Releases in GitHub
The SFRA base repository (storefront-reference-architecture) is continually updated regularly, and each incremental update corresponds to a new version, but only some correspond to releases.
GitHub Release Labels
Development occurs on the integration branch of the base repository, and code changes are merged from the integration branch onto the main branch. Once merged, these incremental changes are considered a new version (and are tagged using a corresponding Git tag). However, only some versions are fully tested against the full suite of SFRA plugin repositories and deemed stable. These fully tested, stable releases are labeled as releases in GitHub. Other versions are labeled as pre-releases. For all versions, once the base repository is tagged, all other SFRA product repositories are tagged with matching tags.When you view the SFRA base repository in GitHub, you can click the releases tab to view releases. For example:
Here, the v3.3.0 tag is labeled as the 'Latest Release.' This label indicates that the v3.3.0 version is fully integration-tested with other product plugins and is considered stable. It further indicates that you can check out the v3.3.0 tag not only for the base storefront-reference-architecture repository, but also for other SFRA plugin repositories (for example, plugin-applepay, plugin_wishlist, plugin_ordermanagement, and so on).
Pre-Release Labels
If a storefront-reference-architecture tag is labeled as 'Pre-release' in GitHub, the version has not been integration-tested with other SFRA product plugins and might be unstable. A pre-release version is compatible within its major and minor versions, as is standard for semantic versioning, but it might be unstable.
Releases and Branches
Within SFRA repositories, branches can be updated and commits can be pushed without being tagged. Nothing prevents you from checking out the main branch of any SFRA repository. But unless you check out a tag, you cannot be sure if the changes in the branch are compatible with other SFRA repositories. By checking out only tags that are labeled as releases, you can be confident that you are starting with a stable code base. You can also be confident that all like-tagged SFRA plugin repositories have been integration-tested against the base repository.