The 1.10 release is a big one from a technical perspective, due to upgrading Sylius to PHP 8.0. BUT if you’re a non-tech e-commerce specialist, we’ve marked business-related topics with special flags 🚩. So, for those with little to no time, here’s a summary of this release:
Our last release of Sylius v1.9 in March ‘21 was all about the upgrade to Symfony 5, and recently we’ve been focusing on adding support for PHP 8.0. But not only that! Let’s see what Sylius has been up to in the past few months.
We’re launching this release a bit earlier than planned (according to the adopted release cycle – Sep ‘21) because we did something huge – Sylius now supports PHP 8.0 (and 7.4 also of course)!
7 months after PHP 8 was released (26.11.2020) we’ve added support for PHP 8.0 in a stable release of Sylius/Sylius, although this support has already been released during the stabilization period in the alpha RC version in May (Kudos Shopware – you beat us by a few weeks!). Working on PHP8 support has been a smooth road that took us, as the whole Sylius community, about 4 months from start to finish line.
Let’s be honest…it’s all about new features, they’re cool and you’re cool if you use them. Not all of them have been utilized in Sylius yet, but still, you are now able to use them with PHP libraries, frameworks, or API. If you’d like to go through all the hot PHP 8 stuff – check their official blog – or stay with us and get to know which of the code novelties really tickled our belly:
::class
on objects; the nullsafe operator;0 === ‘string’ -> false
Oh, it’s always better to deal with a happy dev team, isn’t it? Nonetheless, working with the freshest stack can also be appealing from a recruitment perspective – it may be easier to hire new developers if you provide the most updated set of tools.
An updated version means better security, and this can really save some cash in your pocket, but there is more to it – no LTS (Long Term Support) is generally cheaper and less risky for the platform’s architecture. It’s also becoming a trend in the community – an approach visible in PHPUnit, a strong Symfony recommendation during Keynote during SymfonyWorld Online 2021 (thanks Fabien Potencier!), and last but not least…the Sylius way of dealing with releases since we got stable in 2017.
So, how does PHP approach new versions? There’s a new version every year with 2 years support. In this sense, the last PHP version ends the normal bug fixing period this year and will reach security fixes only, whereas v.7.4 will no longer be supported from Nov. 2021.
We haven’t mentioned performance…yup, this is kinda bigger, but although expectations were high – especially with JIT compiler, the speed has not skyrocketed – don’t get us wrong, there’s no retrogression – PHP 8 with JIT is faster than its predecessor – it just hasn’t hit any hot marketing numbers yet. There’s a lot of space for improvement and we’re pretty much sure, it will come at some point.
We’re moving on with the new unified API development, this time by preparing the ground for switching off the old Admin API once the admin functionalities coverage in the new API reaches 100% (wait for it! and keep your fingers crossed as this operation is a tremendous effort on our dev team).
🚩 Business perspective 🚩 We’re unifying all of our APIs to one standard with API Platform – a renowned Symfony-based technology. All this to provide you with an e-commerce solution ready to go fully headless without any additional coding or adjustments.
We can now proudly announce that the functionalities covered by our previous API solution – ShopAPIPlugin – have been successfully reproduced in Sylius Core within the new API on API Platform. This coverage is the first step – now we will be working to provide a migration guide for the projects that have started their headless journey using Shop API plugin and would like to switch to the new standard, stay tuned!
🚩 Business perspective 🚩 Until now the Sylius projects that went headless have been successfully using our ShopApiPlugin for front office API development. As Sylius has proposed a new, stable, unified solution for its APIs, the old Shop API also needed a replacement. In this release you have all the API functionalities previously served by ShopApiPlugin covered in Sylius Core in the unified standard of the new API, and nothing has to be additionally installed anymore!
Do you know the feeling when you start doing something new? It feels exciting, doesn’t it? Usually, you don’t look back, you keep on coding and coding new functionalities like crazy.
And then BAM! You realize it’s high time to tidy up the little mess you’ve made. That’s what we’ve been doing as well, yay. Slow down to speed up. So what’re we talking about here?
🚩 Business perspective 🚩 We’re working hard to make the lives of developers easier. The API code provided by Sylius is now much neater and tidier, a lot smoother to customize and upgrade in the future. We’re doing our best to make your Sylius projects go smoothly.
We’re just one task away from it, and we’re planning to finally release the 1.0.0 of the Sylius/RefundPlugin version with support for Sylius 1.10 by mid-July. We thought you guys and gals should know!
As usual, within days after the Sylius new release, you may expect its support for the newly released version also within our commercial product. We are keeping support for the still maintained Sylius 1.9 and adding for Sylius 1.10. This will also let you upgrade to PHP 8.0 on projects with Sylius Plus!
We’re getting close to 50% of the UI scenarios coverage in the API context using the new API Platform-based API. Now we’re focusing on
Partial order fulfilment has received a tweak very awaited by Sylius Plus customers! When splitting a shipment of an order, one is now able to choose from which inventory source it will be sent. Very convenient during stock shortages in your warehouses you can send a part of an order for example from your physical store.
We know this isn’t the most robust release and the modest list below sort of confirms it. It doesn’t change our gratitude towards all members of the community who contributed to this release – thank you all!
Some of the maintainers and contributors of the packages Sylius relies on that moved us toward PHP 8.0 compatibility:
Help with API from:
Help with Docs from
Sylius improvements from:
Try Sylius Standard or Sylius Plus yourself to experience what our platforms can do for your business & products. We can also connect with you and discuss whether it’s the right technological solution for your project – we know Sylius isn’t for everybody.
Not yet into Sylius – go, download the bundles to get direct access to Sylius, read more about our support, or how you can become a Sylius developer with our video online course.
So at the moment, the roadmap of v.1.11 is in the works! But so that you have an idea of what we’re working on, here’s a glimpse of what our team is up to:
Standard requests we’re working on:
As you know we’re working on our APIs on top of API Platform, where this’ll provide you with a more smooth and pleasant experience when using Sylius for headless eCommerce. We keep on covering the next endpoints of Sylius shop and polishing up the existing ones.
Attract your customers to certain products while they’re browsing the product catalog! Offer products with a discounted price visible before an item is added to cart. Catalog promotions do not require cart coupons nor cart promotion rules. The feature will offer a rules engine as flexible as the one you know from the cart promotions.
Performance improvements that’ll make your e-commerce experience smoother:
Phew, that’s it! Thanks for sticking around, see you at the next release!