After 30 developmental releases (both Beta and RC), and nearly 2 full years in development, we're proud to unleash our most significant release ever! Grav 1.7 is a massive release for us, and while it may appear quite similar to 1.6 at first glance, under the covers, Grav has had some revolutionary changes.
Grav 1.7 now scales much better than it did before thanks to the extensive use of Flex Objects under the covers in the Admin. During development, we tested the Admin with 50,000 pages and still found it usable. Flex-Objects is now so integral in the Admin; it is now a required plugin. A new Flex Pages UI uses Miller Columns like the Mac Finder to make navigating larger and more complex page structures faster and easier. We've made this extensible, so plugins will soon be able to integrate directly into it, which was just not possible with the old pages UI.
We've also added all-new User Management tools to the Admin, allowing you to define Users and Groups, allowing the configuration of complex ACL rules. These are available in the Flex Pages interface via the new Security tab. They allow you to restrict specific users to specific functionality on a page (CRUD), or particular pages themselves.
Another great addition to the Admin, is the ability to customize and Whitebox the UI for your client. We've included several new Admin themes for you to play with, and you can modify them or even create your own.
Multi-language capabilities have also been improved with more robust language fallbacks. Check out the previous blog post where we outlined more features and functionality that make 1.7 so fabulous!
Upgrade Process
Always backup your site, or better yet, create a copy of your site and test upgrades there first.
As we announced last year, Grav 1.7 requires PHP 7.3.6 to run. This choice was made to allow us to install the latest and most secure versions of several libraries we rely on and ensure your running on a supported version of PHP. 7.3 is no longer receiving active support and is already in the "Security Fixes Only" phase. Grav 1.7 also supports the recently released PHP 8.0.
From our testing, if you upgrade to Grav 1.7 via GPM (either via CLI or Admin) then the upgrade should go smoothly from previous versions of Grav. If you are manually upgrading Grav via GitHub of FTP files, then you should check out the Grav 1.7 Upgrade Guide to ensure a smooth upgrade process as you may need to turn on a couple of compatibility options manually.
The primary potential issue is related to Twig Auto Escaping, which is enabled by default in Grav 1.7, but we handle via GPM updates to enable Twig compatibility mode if you are coming from Grav 1.6 or below.
The other main issue we have seen is that YAML is more strictly interpreted now due to security updates in Symfony libraries, so we also turn on YAML Compatibility during the upgrade process to limit the impact of this. If you see any errors, check the Tools
→ Reports
to see if you have any YAML errors in your pages or configuration. This can also be done via the CLI with: bin/grav yamllinter
. You should also run a quick XSS security check while you are at it with bin/grav security
.
Developer Upgrade Guide
If you are a developer, you should check out our Grav 1.7 Upgrade Guide that outlines some of the low-level changes in Grav 1.7 and anything that might impact you or your clients.
Getting Help
If you are struggling or are experiencing problems, the best and fastest place to get help is via our Discord Chat. The development team, as well as a horde of helpful community members, are there to help you isolate and resolve any issues you may have.