The first minor Sylius release in 2019 has been published! The role-based authorization control plugin, enhanced password hashing, developer experience improvements, decluttered testing architecture, PHP 7.3 support, closer integration with Symfony ecosystem – all of those made its way into v1.4.0.
This release focuses mostly on developer and user experience above all. We improved the autowiring and autoconfiguration for services provided by Sylius to reduce the time needed to write all the services configuration.
Security-wise, we switched the default algorithm for password hashing to argon2i and provided a seamless solution for migrating passwords using the old algorithm. This change requires no additional effort to make Sylius more secure by default. If you want to change the recommended algorithm or the migration logic, it’s a piece of cake, because we leveraged the long-known Symfony solutions for that.
Default fixtures received a lot of love from our amazing community, being more powerful now than ever. My favourite user experience improvement included in this release is the one adding the full taxon path within main taxon selection field.
Apart from developing the Sylius Core, we prepared thean MVP of role-based authentication control plugin – take a look at our blogpost about it for more details. We also take care of our Shop API plugin, which is currently undergoing an exceptional work to make it more extendable.
We keep on developing our other official plugins and we aim to stabilise them in the nearest future. In case you missed it, here’s the list of them:
– Admin Order Creation Plugin – allows creating orders directly from the administrator panel
– Customer Order Cancellation Plugin – allows a customer to cancel a placed order which has not been processed yet
– Customer Reorder Plugin – allows a customer to copy items from the already placed order to the current cart
– Invoicing Plugin – generates an invoice for every placed order
– Refund Plugin – allows an administrator to refund items from a paid order
– RBAC Plugin – adds role-based permission management for administrators
– Shop API Plugin – provides a JSON API to interact with Sylius as a customer
The most recent release adds official support for PHP 7.3, which was published in December 2018. We believe supporting the newest PHP versions is not only for the developers but also for the planet we live on. According to the Rasmus Lerdorf’s talk at PHP Benelux 2019, migrating 50% of servers to PHP 7 would save 2 billion US Dollars in electricity costs and produce 3,75M tonnes of CO2 less.
At Sylius we aim not to reinvent the wheel and try to be as close to Symfony as possible, so that we introduced November 2018’s changes to dotenv and we love the new experience so far!
The other technical highlights include upgrading to the new major version of Doctrine Migrations, which allows end-users to place migrations in subnamespaces, an extremely useful feature if you’re using migrations from multiple sources.
Moreover, I’ve been working on new Behat – Symfony integration and published the new version of FriendsOfBehat’s SymfonyExtension, including zero-configuration setup and support for Symfony’s autowiring and autoconfiguration, which makes acceptance testing easier and therefore faster. It is used in Sylius v1.4.0 and other projects like Akeneo or Monofony are keen to adopt it as well.
While we were busy working on most of the changes mentioned above, our community haven’t stopped growing. There are over 1800 members on our Slack, which is a 20% increase in just four months. We have also surpassed 500 contributors mark – thank you! It’s great to have you with us and it’s starting to be hard to keep track of all the discussions being made there. 🙂
If you would like to give Sylius a test ride, check out our demo application.
You can install Sylius by following instructions in the documentation or upgrade your existing application following our upgrade guide.