We've released Silverstripe CMS Recipe 4.11 and it comes with some exciting new features! Along with a new major version of our GraphQL module (don't worry, we still support version 3 if you want to keep using it) and official support for PHP 8.1, we've made it easy for developers to enable previews anywhere in the CMS. There's more information below but if you just can't wait to start using the new features you can get your upgrades booked.
As usual, this release follows semantic versioning, so it’s ready to be used in any current Silverstripe CMS project.
GraphQL is a query language for APIs, and the Silverstripe CMS GraphQL module is an implementation of GraphQL specific to Silverstripe CMS. It gives developers a dynamic and powerful API for getting data in and out of the CMS - and it's even used within the CMS itself to power features such as the files section and elemental blocks.
Ever since CMS 4.8, Silverstripe CMS has had dual support for version 3 and version 4 of the GraphQL module. Because version 4 was an alpha pre-release, new installations defaulted to installing version 3 - to use version 4, developers had to explicitly opt-in.
Since then, we've been working hard to squash bugs and improve the developer experience of the module and we're excited to announce that version 4 of the Silverstripe GraphQL module is now stable! From 4.11 onwards, Silverstripe CMS will install version 4 of the GraphQL module by default. We still support version 3, and you can continue using that version if you want to.
See the changelog for information about how to stay on GraphQL v3 - but we encourage you to upgrade to version 4 if you can. It has massive performance benefits, and the developer experience has been vastly improved.
If you have a custom GraphQL schema, make sure to check out the Upgrading to GraphQL 4 documentation as well.
PHP 8.1 introduced a lot of deprecation warnings which were clogging logs and, in development environments, showing up in the CMS and the frontend. For this release, we've done a lot of work to avoid using functionality that has been deprecated in PHP 8.1.
PHP 7.3 went end of life in December last year, so hopefully you've already upgraded - but if you haven't now is the time. Silverstripe CMS 4.11 doesn't support PHP 7.3. Be aware that PHP 7.4 is also due to be end-of-life in December 2022.
Until now, previews were restricted to the "Pages" section in the CMS. This means that a content author who wants to see how their changes look on related DataObjects or content in other sections of the CMS would have to have a separate browser or tab open to that page on the front-end - but in some cases that might not be an option.
In this release we've made it easy for developers to enable previews for any DataObject in any section of the CMS. This will give content authors confidence that their content looks exactly how they want it to - regardless of what that content is or where it sits in the CMS. Check out the CMS Preview documentation for more detailed information about how to set this up.
We've decided it's time to allow uploading WebP images by default. WebP is an image format that is optimised for the web - you can learn more about it in Google's article An image format for the Web.
This format has wide, but not quite universal browser support. Read Can I use WebP? for more specific information. Internet Explorer is the notable exception, but given that Internet Explorer went out of support on June 15 2022, and that its market share is now under 1% according to most surveys, we figured it was about time for Silverstripe CMS to support it out-of-the-box.
Don't worry! If there are reasons you can't yet support WebP images in your project, there's information in the changelog for how you can disable WebP image uploads.
The CMS Squad is the team internally at Silverstripe that maintains and actively develops Silverstripe CMS. As part of an effort to be more transparent, we've started publishing sprint announcements on the forum to let everyone know what we're working on. You can check them out in the "sprint-announcements" forum topic. If you have an account, you can even get notified any time we post a new sprint announcement - just click the bell icon when viewing the topic and select the "tracking" option.
As always, the patching of security vulnerabilities is a priority for the maintainers of Silverstripe CMS. This release includes patches to address five vulnerabilities that were responsibly disclosed to the Silverstripe CMS Core Committer team. A big thank you to members of the community who helped to identify those issues. See our security releases documentation for information about disclosing security issues.
Please see the full release changelog for the details of these patched vulnerabilities.
This release includes a bunch of additional features and bug fixes to improve a broad range of areas. Check the changelogs for full details of these fixes split by module. As well as a number of enhancements and fixes made by open-source contributors (thank you!) there are additional details about some of the more notable new features including those listed above.
Talk to your Digital Agency or Developer about upgrading
Haven’t got a Developer or Agency? No problem! Browse the Silverstripe CMS Developer Network or the Silverstripe Professional Partner Directory and filter by location to find a Silverstripe CMS Developer near you.
Developers, check out our documentation
This release announcement does not cover the full detail of what is included in the release. Be sure to review the full changelog before planning your next site upgrade.