What’s new in Spartacus 3.0

The long-awaited Spartacus B2B was finally released on Friday, December 18th. From this article you will learn:

  • Why the 3.0 release was delayed
  • What’s new in version 3.0
  • What is SAP Spartacus B2B
  • How to upgrade to Spartacus 3.0
SAP Spartacus B2B

3.0 delay

Initially, Spartacus 3.0 was planned to be released at the end of September but it was actually released in mid-December. Why did it take around
3 months to release version 3.0? The main factor is that the Spartacus core team follows the “quality first” principle. Thus the release date gets lower priority. I know from experience that such delays could mess with your project plans but at the same time I’m grateful for the quality focus as with my team we haven’t found any critical bugs in Spartacus that would block our development so far. In my opinion, such a delay is a relatively low price for a product that you can trust.

A thing that should be considered in future project planning is to take Spartacus’ roadmap with a grain of salt. I know that this is exactly what the disclaimer at the beginning of the roadmap says but it is worth highlighting that this is the only certain thing in the roadmap. At the same time, I believe that the Spartacus team will gradually improve in this. It’s only their 3rd major release and they needed time to learn their capacity.

What’s new in version 3.0

Changes in this version could be divided into two categories: new features (user-facing) and technical novelties (developer-facing). Here’s a list of these with my short comments: 

  • New Features
    • B2B Powertools Store support – allow Spartacus to run with the powertools store Extension
    • B2B Commerce Organization – a new feature package containing components and services to support Commerce Organization management known from SAP Commerce Cloud
    • B2B Checkout – adds B2B specific features to the checkout process (e.g. adding purchase order number and cost center)
    • B2B Scheduled Replenishment – adds replenishment management feature
    • Skeleton Design (a.k.a ghost design)  – technically a small change but a huge improvement from the UX perspective. Currently, it is only used in lists in the organization module but it should be easy to re-use it in your custom solutions.
  • Technical novelties
    • Angular 10 – update to almost the newest version of Angular
    • New Session Management – the authentication flow was refactored to provide better extensibility
    • Feature packages approach – some modules were extracted to separate npm packages to give you more flexibility and ability to streamline your bundle size
    • Image lazy loading – small performance optimization feature

These are only the highlights I found worth mentioning. A lot of other improvements have also been applied (e.g. SSR optimization) so check out this document for greater detail: Click here 

Also the documentation has been updated revealing more detail about some features like:

  • Type augmentation – or how to extend Spartacus built-in models (a very frequently asked question)
  • Split view – this feature was already available in version 2.0 however it is used only in B2B Commerce Organizations

Spartacus B2B

As you can see the biggest highlight of Spartacus 3.0 are B2B features. I think it is important to clarify here that there’s no separate Spartacus for B2B. It is the very same version of Spartacus but with additional features and a different configuration. What does it mean in practice? Only good things. First of all if you are already familiar with Spartacus B2C development then B2B shouldn’t be a revelation to you. The development process for B2C and B2B is the same. Secondly, components and services are re-usable between the implementations. My point here is that Spartacus B2B is a huge step forward from the business perspective but from a developer’s perspective it isn’t that big.

How to upgrade to Spartacus 3.0

Spartacus core team does it’s best to make Spartacus upgradable. Hence, they supply upgrade scripts called schematics. Schematics make the upgrade process half-automatic. Check out the official documentation for detailed instructions. In addition, I suggest reading the technical changes document to see the level of impact they could have on your project.

What’s next?

I predict that next year will be the year of Spartacus B2B implementations as more and more B2B features will be added to Spartacus over the year. Therefore, I’d like to wish you a successful Spartacus project in the new year ;)