In the new minor version 7.2.0, we’ve focused on improving the performance of the application using Elasticsearch and incorporating requests from our community. A big thanks for your support, pull requests, and reported issues!
During our tests with a large dataset we were able to increase the speed of page loads by a factor of three and increase the capacity of the application to serve up to six times more requests per second, all as a result using the new filtering along with other performance-related changes in v7.2.0.
Due to the focus on community support we’ve managed to introduce over 18 improvements and 10 bug fixes. Many of these come right out-of-the-box when you update the packages via Composer without any other changes in your project repository.
The most important feature delivered in v7.2.0 is the filtering using Elasticsearch. It makes the product filtering a much faster experience, especially with many thousands of products in the database.
At present we’ve implemented the filtering both in Elasticsearch and using SQL, so even if you customized the product filters you won’t have to worry about the upgrade.
When you are extending the forms from other packages (especially the administration) you can now easily change the order of individual form fields or add your new field to a particular position. This will help you to improve the user experience for administrators on pages with custom fields specific to your project.
Travis checks of coding standards and unit tests (#978)
All pull requests on the main shopsys/shopsys repository are now checked on Travis CI. Now when you contribute to Shopsys Framework and create a pull request, within 15 minutes you will see whether coding standards checks and unit tests pass.
Native installation guide is up-to-date and generalized (#961)
We updated our native installation guide and tested the installation on all major OSs. When you choose not to use Docker containers, the guide will help you with setting everything up. Nevertheless, using them is still the recommended method if you plan to develop on top of Shopsys Framework.
We have written an article about the principles we adhere to when developing Shopsys Framework. This can help you understand what code quality means to us. It may also inspire you to write better code on your project.
Some performance gains were delivered using changes in the Postgres configuration (#946) and caching in Redis (#930).
We’ve switched to using ICU collations in Postgres so there are no more issues with locale-specific sorting and supporting more languages is easier (#999).
The WYSIWYG file manager filesystem driver was configured for better support of scaling your application (#932).
Kubernetes’ containers access points were routed via ingress so you can open various maintenance tools on the CI server right in your browser (#888).
Additional minor improvements and fixes
Use of absolute paths in local filesystem was fixed for better support on Windows (#942).
Thanks to @pk16011990 for refactoring the tests and simplifying them (#939).
Thanks to @sspooky13 for reducing the noise in the logs by preventing the fake exception thrown during generation error pages (#920) and the exception thrown when an administrator got disconnected because of inactivity (#952).
Used translation messages in overwritten templates in app/Resources are extracted as well (#931).
An X-Powered-By header was added so it’s easier to tell which online stores use Shopsys Framework (#968).