TL;DR Grav Core 1.7 + Admin Plugin 1.10 to be released January 19th, 2021
It's incredible to think it's been a full year since we announced our first Grav 1.7 Release Candidate 1. We are about to release the 18th Release Candidate with 10 betas before that, and are hoping this is the last RC, with a planned final stable Grav 1.7 release in January 19th, 2021.
The longer this development cycle has gone on, the more changes, improvements and additions have been put into Grav 1.7. We have been actively deploying Grav 1.7 for client projects and recommending it for developers to use since RC.1 was released in December of last year. However, that long development process has meant that there are a lot of differences between 1.6 and 1.7 and the upgrade might not look like much, but trust me, under the covers there's a lot of differences.
This means that it's imperative for you to test Grav 1.7 + Admin 1.10 now. In a few short weeks, we'll be officially releasing Grav 1.7 as the stable version, and it will show up for everyone via the Grav Package Manager (GPM). While we have been working hard to ensure this goes as smoothly as possible, we don't want to have any unexpected surprises on launch day. So it would be extremely helpful if you are running a Grav 1.6 based site, to create a copy/backup, and update that to Grav 1.7. Please let us know of any issues you run across ASAP, so we can get them addressed.
Upgrade Process
Always backup your site, or better yet, create a copy of your site and test upgrades there first.
Prior to release, the best way to upgrade to Grav 1.7 is to edit your System
configuration and under the Advanced
section, change GPM Releases
to Testing
.
When you do this, Grav will prompt you about the latest Grav 1.7 RC release being available, update Grav first. When that is complete, update your plugins.
You should now be fully upgraded. If you are seeing 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.
Flex Objects Overview
Flex Objects has revolutionized Grav when we started adding preliminary support in Grav 1.6. Grav 1.7 increases the stakes significantly with tighter integration in the admin plugin via Flex Pages and Flex Users. This additional functionality with custom data types allows the development of custom user interfaces for Grav using Flex Objects.
Check out the Grav Learn documentation for Flex Objects to find out all about it.
Grav 1.7 & Admin 1.10 Features Overview
Due to the tight relationship (although not required) between Grav core and the Admin plugin, we have been keeping the Grav and Admin release candidates in sync. That means that for each Grav 1.7 RC release, we have also released a matching-companion Admin RC release.
There are some great reasons to get excited about this new version as it's packed with lots of amazing new features as well as many improvements and bug fixes. However, it's been a full year since our last blog post about Grav 1.7 & Admin 1.10, so it's worth summarizing what is new compared to the previous release:
Grav Core 1.7
- All new Flex-Pages support providing better scaling and a new UI for managing pages in the admin
- New per-language fallback options for multi-language
- Added a new built-in
{% cache %}
Twig tag to cache chunks of twig templates for increased performance - Twig
auto-escape
being enabled by default (with backwards compatible logic to disable it when needed) - Added several new Twig functions and filters
- Updated Symfony components to
4.4
- Various core code cleanup to fix many "PHP Standards" (
phpstan
) errors - New built-in Symfony-based web-server:
bin/grav server
for easier local development (requires Symfony CLI to be installed) using PHP-FPM for great performance - Various improvements to the
Scheduler
functionality - New Clockwork PHP Debugger that runs in your browser's developer tools
- Ability to hide sensitive variables in the debugger
- New function to sanitize SVG images
- Improved XSS detection support and Grav now defaults to check all frontend form data submitted
- Twig
2.x
compatibility to ease migration later - Improved the capabilities of the
bin/grav yamllinter
CLI command to find issues easier - YAML linter now supports multi-languages
Admin Plugin 1.10
- New White Label capability with presets
- Many performance improvements so the admin is now faster than ever!
- New Ajax-powered and column-based Flex Pages UI for managing pages. This provides easier navigation and better performance on larger sites
- New and improved page-picker based on flex-pages that is used to select parent, move pages, etc.
- New user management for Flex Users allowing the for easy management of users and groups
- Powerful new Access Control List (ACL) which allows granular access down to the page level
- Much improved multi-language support for pages
- New
onAdminMenu()
event to provide better support for custom navigation - New
onAdminLogFiles()
event to easily add custom log files - Ability to configure the display of 3rd party widgets on the dashboard
- Improved button color and placement for pages and modals
- Modal dialogs are now nestable
- Better support for
array
field insidelist
field - Ability to auto-sanitize SVGs for page media and file fields
Changes since RC.1
Most of the changes to the Grav core made during the RC releases have been bug fixes and general improvements on features and functionality that were already added during the beta phase of development. There are a few notable exceptions to this rule:
Key Additions in Grav since RC.1
- Per our recent announcement, updated PHP requirements for Grav 1.7+ to PHP 7.3.6
- Upgraded to an in internal version of Parsedown markdown parser where we have manually merged-in PHP 7.4+ fixes.
- Switched to use Symfony HttpClient v4.4 for more robust GPM updates
Key Additions in Admin plugin since RC.1
The Grav Admin plugin has seen some more additions however:
- Added new White Label functionality to customize admin colors + logos
- Added several preset admin color schemes with the ability to create and import your own
- Admin cache now enabled by default for better out-of-the-box performance
- Root page support in Flex Pages to provide a global root-node to set permissions
- Ability to display changelogs for
Grav
,Plugins
andThemes
directly from the admin - Configurable preferred editor per-user
- Added CodeMirror fontsize / preset / font preference options in admin configuration
- Improved support for upcoming premium plugins and themes
- Added support for 3rd party editors (including WYSIWYM editors) to be integrated
- Updated to latest node modules and improved speed of JS compilation