We’re excited to say that we’re in release candidate stage. A lot has happened during the alpha and beta stages, prepare for our climactic performance in this final chapter. A big shout out to all those who have reported the issues they’ve found - raising issues on Github, talking with us on Slack or other forms of communication.
According to addons.silverstripe.org, over 160 modules are already compatible with SilverStripe 4.0 so if you’d like to start a new project, we think 4.0.0-rc1 is a solid choice. Perhaps your favourite module is close to being compatible and your contributions can help get it over the finish line—the beauty of open source.
Fixed a race condition with dotenv files
We found that in certain circumstances calling
getenv() will fail to retrieve correct values. Please replace any calls to
SilverStripe\Core\Environment::getEnv() for environment variables, so that you do not end up with unexpected or missing values in the middle of a request.
New upgrade warnings tool
Some code can be detected as likely to be causing upgrade issues, but our tool did not have enough confidence to automatically fix it, so we're doing our best to show you useful warnings about this. You can run the inspection after upgrading your code.
composer global require silverstripe/upgrader
~/.composer/vendor/bin/upgrade-code inspect <path>
We’ve also added some instructions on how to adapt your composer dependencies to upgrade to SilverStripe 4, which enables you to run this tool.
Requirement files no longer error
When including files using the SilverStripe\View\Requirements API, we’ve updated it so that it no longer throws an exception and prevents the request from finishing when a file is not found. Instead it will provide a notice message in the response and can easily be logged without the message shown in production environments.
Let's get stabilised
Our release candidate is not the stable release—it is a potential version to act as the stable release, we may have missed something. So with everyone’s continued help, we hope to have a stable release very soon!
If you’re planning to upgrade from SilverStripe 3.x, we highly recommend going over the 4.0.0 upgrading guide and change notes: https://docs.silverstripe.org/en/4/changelogs/4.0.0
And to try a new installation of SilverStripe 4.0.0-rc1, you can easily install it by using composer:
composer create-project silverstripe/installer ./ss40 4.0.0-rc1