7 min. read
Categories: Business News Technical
đŸ‘» Trick or
 Sylius 1.12 release?🍬 Sylius 1.12 comes with Symfony 6, Docker, and a bag of enhancements to both admin, shop, and API!

Intro

The dust after SyliusCon has not settled while we were pushing tags for the 1.12 release. When Sylius marketing and sales were focused on delivering the best community event in history, the development team was sweating to shape up the newest version. And here it is, both teams made it!

On Halloween, Oct 31. 2022 Sylius v1.12 was released. Let’s go with the summary of the changes introduced in this version, grab a coffee or two, it’s been over 2000 commits since the last release.

A bag of treats 🍭

I think we’ve even surprised ourselves with the number of business features we delivered this time, some in the shop, some in the administration panel, all of them visible in the UI – let me show you!  

Default theme facelifting


We did that a long, long time ago, right after releasing 1.11. It feels good to have a fresh, more modern look, right? As usual, when it comes to Sylius front end, kudos go to Szymon.

Admin password reset

Until now, only Sylius customers were able to forget (and gracefully reset) their passwords. Well, we’ve realized administrators are also humans (or the password-keeping software fails them), and it was cruel to make them reach out to developers to have their passwords changed. We’re getting older as we speak, aren’t we? đŸ§“đŸ»đŸ˜‚

Default billing/shipping address toggle

In 2020, in the 1.7 version, Sylius has changed the default address required in the checkout from shipping address to billing address. That was caused by the EU VAT regulations that required EU sellers to pay VAT in the countries of their customers’ tax residency. However, Sylius is used also outside of the EU, where the regulations often differ across various countries. In order to give every vendor the freedom to choose which address is the default one for them, we’ve introduced the address toggle in the channel configuration.  

Tax rates with dates

In a constantly changing world, taxes also change from time to time. To save Sylius administrators from manual work updating their tax rates in the middle of the night, we have added date ranges to the Tax Rates configuration in Sylius. 

Cart enhancements 

We’ve introduced two minor changes to the Sylius cart. First of all, we changed the item count in the cart button. Before it was showing the number of products, while now it shows  the number of items. You can check the Pull Request here.

The other thing that’s changed is the way the cart is updated when entering the checkout. So far, if you changed the item’s quantity and did not press the “Update cart” button before entering the checkout, you’d lose your changes. In Sylius 1.12, the cart is updated the moment you click the “Checkout” button. Also for this change, you can see the related Pull Request.


Catalog promotions: deleting, and browsing affected products

We introduced the first version of this feature back in 1.11. We planned to upgrade it gradually and here we are. The catalog promotions can now be safely deleted – the process can be run asynchronously just like for creating.

The other feature is browsing products affected by a catalog promotion. On the catalog promotion show page, you can navigate to a separate page with this list. 

What is more, you will also see that relation from the other side – you will see that the price is affected by a catalog promotion on the product’s pricing as well.

Administration panel improvements

There’s always something to be improved in the administration panel, and it ain’t much but it’s honest work.

  • Filter orders by products and product variants (picture above)
  • All entities that have configurations for different channels have them now displayed in a neat tabbed layout (Pull Request 👀)
  • Sticky columns in orders, taxons, and products show pages
  • Fixed the “undefined” labels on the dashboard chart
  • Improved sidebar, also on mobile (check it out here)
  • Improved pagination: go back to the previous page of a filtered index

Hauntingly good technical updates 🎃

I will do my best to choose the cherries out of all the DX updates we have in this version, but remember you can always check all of them in details in the release changelog.

Symfony 6

As the second Symfony-based eCommerce solution (congrats Thelia on making it as first đŸ€) we’ve managed to add support for Symfony 6 in this version. 

Sylius 1.12 supports both Symfony 6 and 5.4. Adding support for Symfony 6 lets us:

  • Prepare for the support of 6.4 in the future – which will be an LTS version.
  • Increase security – as older versions will be running out of support.
  • Reduce the cost of updates, it’s much smoother to upgrade more often.
  • Get ready to use new components that are to be introduced in the future 6.* versions

You can read more about Symfony 6.1 features in this blog post.

Docker

During SyliusCon, you could’ve seen a presentation from our Docker guy – Zbigniew – summing up the long way we’ve gone through to finally have an official Docker image for Sylius. It’s a huge milestone we’re celebrating with Sylius 1.12 🏆

See our guides on using Docker for Sylius development and for Docker production deployment.

Sylius Template Events stabilized

Template events in Sylius replaced Sonata template events back at the beginning of 2020. You could’ve followed our progress on this matter in this issue. Until now, they’ve been marked as experimental, mainly due to lacking documentation. We’ve added missing parts, tested them once more, and finally made them stable. DX++!

Gulp replaced by Webpack

Sylius front-end stack requires using a JavaScript toolkit. Until now, we’ve been using Gulp, which unfortunately became unsupported. Some time ago however,  we’ve already been recommending the use of Webpack instead. The time has come we completely replaced Gulp with Webpack in the Core. Webpack is a stable, supported solution well-adopted both in the Symfony and JS communities.

API Platform v2.7 support

It’s obvious. One of the last steps to stabilization of our API. This is essential to provide us with a way to migrate to all new features and changes introduced in 2.7. By extension, it will allow us to support 3.0 and stabilize our API. 

Our most beloved features available from 2.7:

  • New metadata system – lets us to build resource metadata in a nicer and more robust way
  • Improved support for subresources – TBH, subresources are gone, long live only resources with improved DX!
  • Refactoring of processors and providers

Gaufrette replaced by Flysystem

You should’ve already noticed we aim to have well-maintained and community-proven packages in Sylius dependencies. We applied the same approach for the one we use for file storage, replacing Gaufrette with Flysystem.

More and more Symfony!

Everyone working with Sylius is aware that we embrace every component of Symfony to the fullest and according to best practices. With this release, we are bringing support for two more components.

Swiftmailer replaced by SymfonyMailer

Almost a year ago Swiftmailer run out of support even though its maintenance was taken over by Symfony a few years ago. It was hard for Symfony community to keep developing it, so they decided to introduce a new library: SymfonyMailer. It’s Swiftmailer’s natural successor, it covers all its features, and adds more. We’ve also gained the stability proven by Symfony.

Symfony/Runtime by default in all new installations of Sylius-Standard

Symfony Runtime is a component added to Symfony with version 5.3. As we bumped the minimal dependency of the whole Sylius project to 5.4, we can provide Symfony/Runtime by default.

What are the benefits of it?

  • It simplifies the console and index entry points
  • It enables the ability to use other runtimes like Swoole, Roadrunner, etc. 
Join the 1.12 release webinar
Ɓukasz Chruƛciel, Sylius’ Tech Lead, will provide a walk-through of both business and technical features with a live Q&A.

What’s next?

Peek-a-boo  1.13? 2.0?

The next Sylius minor version is estimated to appear in Q2 2023. When it comes to the next major release – yes, we will do it next year also!

👀 Follow our Roadmap and social channels to never miss a beat.

SymfonyCon!

This year we will be present at the SymfonyCon as a Community Sponsor with our booth and with Ɓukasz Chruƛciel as a speaker. Will you spare a minute to pay us a visit and have some high-fives 🙌?

Sylius Certification & Premium Support

Do you think, that’s all that we’ve been preparing for you? Of course not! Our trick for this blog post will be to tease you with the information that soon you will be able to certify yourself as Sylius Developer and subscribe for premium support delivered by Sylius Team for every open-source project built on our framework! 

Share:
Magdalena Sadowska
Magda is making decisions about Sylius features and breaking those into implementable tasks since 2017 in Product Owner role. Present on both our Github and Slack to chat about Sylius business-wise. Privately: she’s raising two tiny humans.
More from our blog
Technical 7 min read 04.12.2024
Here’s everything you had to know about the first major release since 2017! Over 7 years after the first major release, on Nov 12, 2024, we have released Sylius 2.0.0. We had a great opportunity to announce it first at SyliusCon in Lyon, but now, as we are back to… Read More
7 min read 22.11.2024
The emotions start to settle after SyliusCon, and it’s time to reflect on this incredible milestone in our journey. Why a milestone? Because SyliusCon exceeded our expectations in every possible way. We broke attendance records and brought together the key figures of our community, numerous partners, freelancers, and simply all… Read More
Cloud 7 min read 17.06.2024
We are thrilled to announce that we just signed a strategic partnership with Platform.sh, and as a result, we are extending our offer with Sylius Cloud powered by Platform.sh. Platform.sh is a modern Platform-as-a-Service (PaaS) solution that allows businesses to leverage the cloud environment without losing access to the code… Read More
Comments