With the beginning of the year we are releasing the next minor version SSFW 9.1.0. We have worked on this release almost six months and it contains around 100 pull requests. Core of the changes introduced is the extension of the list of queries and mutations in our frontend API, several performance upgrades (numbers for geeks below), mandatory small improvements of code and documentation and some bug fixes. See the release changelog on Github for more details.
Let’s dive in….
What has changed in Shopsys Framework?
- ReadModel for product detail [#1999] – the product detail data are now retrieved from the Read Model layer. For more details about Read model, please see our introduction here.
- ProductDetailView provided by Elasticsearch [#2090] – application now maintains public data about products in ElasticSearch and these are used on product detail. Main reason is significant speed improvement across the application.
- Made parameters overridable by ENV variables [#2055] – developers can now affect the behavior of application by setting the relevant values using environment variables instead of just config files.
- Configuring application is now much easier especially on CI/CD.
- Further reading can be found in our docs.
- Dropped support for PHP versions lower than 7.4.1 [#2109] – as the support for older versions of PHP was dropped, we have dropped support as well. Please read our blog post explaining in detail our reasoning.
- Improved acceptance tests [#2099] – rewritten acceptance tests are now much easier to implement and maintain.
- Autocompletion for Phing targets [#2049] – makes developer’s life a bit easier to run .
- Enabled caching for DomainRouter and LocalizedRouter [#2133] – Routes are now cached into file that noticeably decrease database queries.
- Several enhancements of frontend API
- Added search for products and categories in frontend API [#2163]
- Added product filter in frontend API [#2156] – products can now be filtered by manufacturer, price, parametric filters and so on….
- Added support to find entity by slug into frontend API [#2150] – search and returns entity based on provided friendly URL.
- Improved API documentation – we cleaned up a bit our documentation, it is easier now to find relevant guide.
- It is not possible to create a product variant [#2134] – we fixed error preventing creation of new variant for products with images.
- Fix cleaning of old redis cache [#2096] – we have introduced bug in version 9.0.2 that prevented deleting of old Redis cache, this problem has been fixed.
Quite a few more changes and fixes were implemented, please see our changelog for more details.
As usual, thank you all collaborators for issues and pull requests created, to name a few…
@vitek-rostislav, @stanoMilan, @henzigo, @RostislavKreisinger, @pesektomas, @pk16011990 … etc.
Performance upgrades in SSFW 9.1.0
With this release, we invested substantially in upgrading the speed of our product by caching relevant data and by reducing the number of queries to data storage. Below you can find pretty charts highlighting the improvements for important pages. In both charts we compare performance of the long term support version, last major version and version we have just released.
First charts demonstrate mean values for one user loading given page type 50 times. Second chart shows the mean values for 32 concurrent connections. Version 9.1 is on average approx. 35% faster than LTS version 7.3.5 and approx 40% faster than latest major version 9.0.0. Please note, the data in the chart are based on the test environment and may differ on production environment significantly.