Statamic 5 has Arrived
It’s that time of year again! We’re quite pleased with this year’s annual major release — Statamic 5. This release is heavily focused on three main areas: performance, developer experience, and continued modernization. Let’s get into the details, shall we?
Huge Performance Improvements
Statamic 5 delivers performance improvements from several different angles without changing the way content is stored (there have been changes to the Stache, however).
Most of these changes focus on intelligent caching and reusing results (like tree items and URLs) during the request lifecycle. But we didn’t stop there — Statamic 5 has a massive number of under-the-hood improvements to the flat-file query builder, how Globals are stored and retrieved from the Stache, and augmentation learned some new tricks on how to process data more efficiently — lazily even — only when you need it. And that’s just scratching the surface.
How huge?
You probably just care about the bottom line differences. I know I would in your position.
For small, simple sites you might not see much of a difference — maybe 5-10% faster.
But for huge or complicated sites with multiple navs and structures, taxonomies, globals, multi-sites, and so on — we’ve seen truly staggering improvements in our benchmarks. We’ve seen 50-600% speed increases. From multiple second render times to a few hundred milliseconds. Or less.
And for those large sites that are using the static site generator — you’re going to see some great improvements there as well. Not only do faster request cycles mean faster generation, but we’ve lowered overall memory and temporary cache storage use as well by improving the garbage collection process.
Thanks to many of you who had slow sites that were willing to share your codebases so we could use them in our tests. They made all the difference.
Developer Experience
Where v4 was heavily focused on the authoring/control panel experience, this v5 major release is similarly focused on improving the developer experience everywhere we can.
Command Line Improvements
We’ve added new commands for installing our main first-party packages collaboration
, eloquent-driver
and ssg
. These commands take advantage of Laravel Prompts to walk you through various optional configuration steps.
Fake Flat File SQL Queries
We all know there’s no database involved when you’re running a site with the flat-file Stache driver. But what if you could see what the equivalent SQL queries would be, if you were?
Enter Fake SQL Queries! Statamic can now emit events that push approximated SQL queries to your database debugging tools. These fake queries will show in the Debug Bar, Laravel Telescope, and even Ray by using the ray()->showQueries()
helper.
Multi-Site Management in the Control Panel
You’ve asked, we’ve delivered. You can add, edit, and remove Sites right in the control panel without having to touch code.
This means non-technical — or otherwise control panel-only — users can translate your site, build out landing pages and micro-sites, all without the aid of a developer. Assuming your site is built to support such things. 😊
Addon Test Scaffolding
If you’ve ever found wangjangling your addons for testing was a bit of a pain, it’s time to breathe a sigh of relief. When you php please make:addon
we’ll scaffold out a proper PHPUnit test suite for you.
Modernization
Our modernization efforts bring Statamic’s dependencies up to the latest two major versions of Laravel (9 and 10). We’ve dropped support for outdated versions of PHP and updated, refactored, and removed a number of third-party dependencies and build tools to keep Statamic’s core up to modern standards.
Support for Laravel 11
Statamic 5 supports Laravel 11, which was released in mid-March. We’ve gone beyond mere support, however, and have also added support for Laravel Reverb, integrated Laravel Prompts into our CLI,
Dropped Support for PHP 8.0 and Laravel 9
In order to offer the latest and greatest features, as well as tightest security, we have dropped support for older and unsupported versions of Laravel and PHP.
Every new major version of Statamic will support the newest two versions of Laravel and whatever versions of PHP it supports. You can keep track of those versions at LaravelVersions.com.
How to Upgrade
For sites running on Laravel 10 — upgrading should be as easy as setting your composer constraint for statamic/cms
to ^5.0
and running composer update
. However, be sure to check the Upgrade Guide for any breaking changes that may affect your site.
For sites running Laravel 9 or older, you’ll need up Upgrade Laravel before upgrading Statamic. Which brings me to…
How to Upgrade Laravel
If you need to upgrade Laravel, you have three options.
- Use Laravel Shift (using the coupon code statamic-1983 for a special 19.83% discount)
- Start a new Statamic site and move your
content
,resources
, andusers
directories over, along with anything custom in yourapp
and any modifications to theconfig/statamic
files. - Follow along with the Laravel Upgrade guide and do it yourself.
Full Changelog
We’re proud of all the changes and improvements in Statamic 5 and are eager for you to try it out and share your feedback with us. We especially want to hear about your speed improvements!
Check out the full changelog here to see every last little change.
Upgrading from Older Versions of Statamic
Statamic v3 will continue to receive security fixes until July 2024, at which time it will reach end of life and receive no further updates.
The upgrade path from Statamic 3 to 5 is very straight-forward — these major versions are not codebase rewrites nor do they have major architecture changes. In short, there’s no reason to put off updating to Statamic 5 and getting the very best performance, control panel, and developer experience we have to offer.
For more in-depth details on supported Laravel and PHP versions as well as support dates have a look at our release schedule.
What’s Next?
We’ve also been hard at work bringing you a much improved statamic.com experience — with special detail focused on the Marketplace and Account area. Stay tuned for more news.
We’ll soon be at our second Flat Camp in Italy, where we will be collaborating with the community on what’s most important to focus on over the next year, 5 years, and beyond.
Follow us on Twitter, subscribe to our newsletter, or simply stand on a street corner and tell everyone you know about Statamic. Thanks!