Spartacus Release Updates – The SAP Composable Storefront
This article is brought by Robert Bull, Lead Solution Architect
Back in March I wrote about how SAP had released Spartacus 5 in November 2022. I covered how it had been released as a commercial entity and I had analysed the release policy and then estimated that it would make sense for SAP to update the Composable Storefront package to use a newer version of Node.js during 2023 for ensuring a longer term support prospect.
I was partly correct – but I had underestimated what would happen !. In fact as of end-November 2023:
- there have been 9 releases of the Composable Storefront since 5.0, now being released on an almost monthly basis;
- there have been 12 update releases of SAP Commerce Cloud itself, now in the form of the “Continuous Innovation” releases 2211.x, and at time of writing to 2211 updated to release 2211.15 and also released on an almost monthly basis.
I suspect that between the time I write this, and the time you read that at least one more release of Composable storefront and Commerce Cloud will have been released.
One update to mention, is that it is still feasible to obtain the source code for Spartacus from the github repository on https://github.com/… where there are clear instructions to build those libraries into a local repository and therefore not have to obtain from the repository via the SAP Repository based Shipment Channel. I’ve not tried that but I will do so in the near future.
There are therefore, multiple aspects to factor in for a SAP Commerce Cloud system with or without the Composable Storefront:
- SAP Commerce Cloud 2211.x update releases;
- Underlying technologies for SAP Commerce Cloud (such as Java itself);
- SAP Composable Storefront releases;
- Underlying technologies Angular and Node.js
- new features within these products that the licensee wishes to implement.
This is a substantial amount of involvement in support decision making and update planning, and at the same time, most retailers/licensees will be wanting to apply their own roadmaps.
With the pattern and frequency of SAP Commerce and Composable Storefront releases, there are multiple chronological factors to consider as I have discussed below.
1. Chronology between Composable Storefront and Angular/Node.js
I have below plotted all the key components above with their release cycles and support cycles with their respective dependencies. SAP seem to base the Composable storefront major release versions towards the specified underlying versions of Angular and Node.js.
- Spartacus 4.x ended at the same time that LTS for Angular 12 ended;
- composable storefront 5.x ended around the same time as Node 16 support ended;
- composable storefront 6.x releases align with node 16 and node 18, but it is interesting to note that the original EoL date for Node 16 was April 2024, but was brought forward by 7 months to September 2023 to coincide with end of life support for OpenSSL1.1.1.
Interestingly enough, I saw that the Composable Storefront 6.4 – 6.6 build instructions are still citing Node 16 even though Node 16 was no longer supported by the Github Node community.
The diagram below represents this visibly, with releases of the Composable Storefront and Underneath are the releases of Angular and Node.js:
Notes to the diagram above:
- The timescale is focused on 2022 and 2023, and does not extend back to 2020 or forward to 2025;
- The Angular end-dates shown include long term support (LTS).
- Angular 13 was not included in an any release of Spartacus or the Composable Storefront and support for Angular 16 / 17 is anticipated for possible future releases.
- Node end dates shown include LTS and security support.
- Odd numbers of Node are not shown because odd-numbered releases of Node.js go into End-of-Life as soon as the next even numbered release is made available.
- Node 14 to node 16 has no breaking changes (except for rules and custom database action scripts).
- There should not be breaking changes migrating from Node 16 to Node 18.
- There are some breaking changes migrating Angular 14 to Angular 15, and there are breaking changes whenever migration of Angular 15 to 16 is considered.
2. Chronology between Composable Storefront and SAP Commerce Cloud
With Composable Storefront v5.x, there was a wider support for versions of SAP Commerce cloud, 2105, 2205 and earlier releases of 2211, but those older versions were removed from the support list in line with releases of Composable Storefront 6.0 and 6.1. For those systems that are still on premises, there is support provided by SAP for SAP Commerce 2205 until end of May 2024, but not for any other version on prem.
The releases of SAP Commerce 2211 and the Composable Storefront have since December 2022 gradually come into alignment to the same release date and of their duration of being deployable to CCV2 cloud environment. The incremental versions are released on a monthly basis and now on the same dates in the month. The SAP Commerce system has a typically 11 month period where it can be deployed, and Composable storefront has typically 6 months it can be deployed.
For details on this; for SAP Commerce see: https://help.sap.com/…
For Composable Storefront see: https://help.sap.com/…
The tables in these pages give the cross-compatibility (ie, which version of Composable Storefront is compatible to which version of SAP Commerce) Also shown are the last date you can deploy that version into the CCV2 environment.
This latest approach is effectively forcing customers to undertake these upgrades, but I understand that temporary exceptions can be sanctioned by SAP whereby older releases can continue to be deployed, by raising support tickets via the CCV2 portal.
The diagram below depicts this visually;
3. The Chronology between Releases and Popular Retail Seasons
A frequent factor we see with clients is that they have regular code freeze periods, many of these preceding, during and after key retail seasons. This now needs to align with the release periods of commerce platform and the storefront, allowing time for development and regression testing and testing of new features that are developed. Just as an FYI, the key international retail seasons are listed below, specific dates are not given as these often vary from year to year:
- Black Friday (end November)
- Cyber Monday (end November)
- Christmas (December)
- Valentines Day (mid February)
- China Singles Day (early ovember)
- China Golden Weeks (February, October)
- Japan Summer Bonus (July – August)
- Diwali festival of light (November)
- White Day in Japan, South Korea, Vietnam, Taiwan, Hong Kong and China (March)
- Click Frenzy in Australia (November)
- White Friday middle East (November)
- El Buen Fin in Mexico (November)
In addition, merchants selling agricultural farming crop products have highly seasonal sales periods preceding the crop growing times which also varies according to the northern/ southern global hemisphere.
The key aspects here are that many merchants hold code freeze periods leading up to, during and after these key marketing dates and have lead-ins for preparation, testing etc. and merchants may not want to have to perform an upgrade beforehand, and may see that the version they are using during this peak period may no longer be deployed.
4. Chronology to Java
This aspect is of less concern, the current version of OpenJDK java 17 is actually official maintained by SAP and has extended support to 2029.
5 Change Information
5.1 Change Information on SAP Commerce from SAP
SAP has now provided a summary change log which includes some future expected changes on this page: https://help.sap.com/whats-new/3d7190d2aab14c7d92f918cc3fa9a024?locale=en-US
Links to pages where the change details are described are included. A related page shows changes by key features: https://help.sap.com/…
5.2 Change Information on the Composable Storefront
Each version of the Composable Storefront has its own information page for the changes, for example for 6.6, see: click here
In these pages you can navigate to similar information of the previous releases to see the respective changes in those releases and links to pages where the change details are described are included.
6. Roadmaps from SAP for Commerce Cloud and Composable Storefront
The roadmaps are published on SAP web pages where you need to log in with registered SAP user credentials to see them, the details are included on the overall Roadmap Explorer page. On this page, select SAP Commerce Cloud and the Composable Storefront from the long list of SAP products and the page is divided to yearly quarters, with lists of features that are planned to be included. The small print at the bottom of the page is a disclaimer that the roadmap information is not a commitment, promise, or legal obligation to deliver any material, code, or functionality and is provided without any kind of warranty.
What you do not see are any indications to which minor releases of either SAP Commerce or the Composable Storefront the roadmap items are applicable to, and you do not see any indication whether the releases will involve any dependency component changes such as updates to Node or Angular.
7. Building SAP Commerce and the Composable Storefront
When I had built SAP Commerce with the Composable Storefront back in March, I had noticed some documentation errors, particularly on the setup of accessing the Storefront Repository number, and on CORS. A recent rebuild by following the latest build instructions went ahead without any hitch. (It still takes ages to build and initialize the sample B2C/B2B recipe !). When I get some spare time I will build the Telco and Financial accelerators.
SAP has now created a deterministic pattern of releases for SAP Commerce and the Composable Storefront and it is essential to remain current as the SAP Commerce Cloud Portal will not allow builds against an update release no longer listed as a current update release.
This approach forces customers to undertake updates and this must be scheduled in conjunction with the merchant’s own roadmap. There is a consequential addition that development teams also need to upgrade and a view must be taken to the degree and detail of regression testing to be undertaken. This really should encourage a regime built around automated regression testing as much as possible as this will save hours of repeated manual testing.
I have to say that we have heard mixed anecdotal views on this from SAP Commerce customers.
SAP also only has a roll-forward policy, which means that only the latest update release will receive bug fixes and new features and older update releases will not receive bug fixes or features. Note also that SAP will also generate bug fix patch releases that are backward compatible, it is important to make sure that all developers are aligned to the latest platform version.
I hope the above helps readers and I will provide future updates as I watch this space !
SAP has stated that starting February 2024 that they will be synchronizing the releases of the composable storefront with commerce versions, please review the following blog for more details;
- SAP will update the Angular framework only once per year in Q1;
- Spartacus version numbering will align with the Commerce Cloud versioning from February 2024;