Spryker release process

Edit on GitHub

Spryker has always prided itself on the fast pace of innovation and rapid development of new functionality. New features and enhancements are shipped almost daily.

Many customers benefit from these continuous releases by having immediate access to new, sometimes even beta, versions of the Spryker modules. At the same time, with the growth of our product, we faced a necessity to also have a more structured and organized release approach. To accommodate both the fast pace of innovation and predictability of the upgrade process, we support two types of releases: atomic (code) releases and product releases.

Product releases flow

Atomic (code) releases

Atomic, or code release approach, implies that we introduce changes gradually and release updates only for the modified modules. So you don’t need to invest time in updating all the modules available in your project every time there is an update. Each Spryker module is released independently and has its own version. Also, every module has its own repository and dependencies declared in a composer.json file, which means you can select a specific module version and update it separately.

New versions of the existing Spryker modules as well as new modules are released as soon as they are ready in the Spryker Commerce OS (SCOS) project repository.

The main benefit of the Code Releases is that customers who urgently need this new functionality can get access to it immediately. Such speed comes, of course, with some drawbacks.

We are making sure to provide draft documentation for the new functionality, as well as a module-level migration guide. Still, we cannot deliver full documentation and training materials at that time. Our QA team validates the newly released functionality and overall quality of the module but cannot thoroughly check the new module’s compatibility with other modules in all required combinations.

Also, Code Releases are not incorporated into the Demo Shops and can contain beta versions on modules.

Product releases

A product release is done every several months. The product release has its own version and is accompanied by release notes. The product release code is stored in our B2B Demo Shop repository and B2C Demo Shop repository and includes a specific feature set that we believe is best suitable for each vertical.

A product release does not include beta modules. All of its features are integrated and tested in the Demo Shops, as well as fully documented.