Back in March of this year, we released Grav 1.4, and soon after we proposed some PHP requirement changes to our upcoming releases. Today we are proud to release Grav 1.5 which is the first step in this process.
With Grav 1.5, the minimum requirements for Grav have been raised to PHP 5.6.4. This is really only a stepping stone however, and the next Grav 1.6 release, due by end of year 2018, will require PHP 7.1.3. While improving the speed of Grav rather dramatically (2X faster than PHP 5.x), PHP 7.1.3+ allows us to upgrade our underlying libraries to new and improved versions, as well opening up new possibilities in how we code Grav. Of course there's the added benefit of being able to run on an officially supported PHP release, rather than an end-of-life PHP version.
Grav 1.5 Changes
As was the case with Grav 1.4, this version is an incremental update that adds new functionality under the hood and receives general improvements to ensure a smoother transition to the eventual release of Grav 2.0.
The primary reason fo this .x release is to bring up the PHP requirements as we outlined in the aforementioned PHP requirements blog post. There are, however, several useful new methods and filters that improve upon the already solid Grav 1.4 release. The increase of PHP to 5.6 allows us to switch for several versions of older libraries to newer ones.
Some of the other key features in Grav 1.5:
- New Twig filters for casting values
- Collection Improvements that add support for matching and better criteria support
- Upgraded to Symfony 3.4 components (was 2.4)
- Upgraded to Doctrine Collections 1.4 (was 1.3)
- New Grav Framework File and Session classes
- Ability to disable site sessions without affectecting the Admin plugin
- Other general Session improvements
- Page and Media interfaces to allow more flexibility in future versions
In Grav 1.5, we've added two new 'compatibility' settings in the
system.yaml that are enabled by default. These ensure things continue to run smoothly even though underlying libraries have changed their behaviors due to the newer releases available with PHP 5.6.
Of course, a variety of bugs, and issues have been addressed in this release to continue to ensure Grav remains fast and stable...
Please review the Grav 1.5 Changelog for a full list of new features, improved functionality, and bugfixes.
More Thoughts on Grav 2.0
As we continue development on the 1.x release of Grav, we are continuely keeping one eye on the future and specifically on Grav 2.0. The main goal of Grav 2.0 is to ensure that we keep the best features and workflow from Grav 1.x, but simplify the underlying code where possible, as well as move to a more flexible Pages implementation while improving performance on larger sites.
We have started paving the path for this capability in Grav 1.4 and now in 1.5 with the inclusion of low-level Doctrine collection support, and we continue to make subtle changes to the current Pages and Media implementations to allow us to develop new systems in parallel. We are already utilizing these in custom solutions for some of our clients, and the signs are very positive that we can develop a much more flexible, and also 'speedy' replacement for our current pages logic for Grav 2.0.
The final list of features planned for version 2.0 is not complete. We are still very much in the Request for Comments (RFC) stage. If you want to review the current status or want to contribute with your ideas and thoughts, please do so on our Roadmap for Grav 2.0 issue on GitHub.