4.10.0 (unreleased)

Overview

Regression test and Security audit

This release has been comprehensively regression tested and passed to a third party for a security-focused audit.

While it is still advised that you perform your own due diligence when upgrading your project, this work is performed to ensure a safe and secure upgrade with each recipe release.

Dropping support for PHP 7.1 and PHP 7.2

We've recently updated our PHP support policy. The immediate affects of this changes are:

  • The Silverstripe CMS Recipe release 4.10.0 drops support for PHP 7.1 and PHP 7.2. Those two PHP releases have been end-of-life for several years now and continued support would detract effort from more valuable work.
  • The 4.11 minor release will drop support for PHP 7.3 later this year.
  • We expect to drop support for PHP 7 altogether around January 2023.

Features and enhancements

New

This release adds support for a new SS_TEMP_PATH environment variable, which allows developers to control where a series of “temporary” files are created. These include Manifests, Object Caching and Partial Template Caching.

The environment variable can be set to either an absolute path which must have a leading / (e.g. SS_TEMP_PATH='/tmp/silverstripe/cachedir'), or a path relative to the project root (e.g. SS_TEMP_PATH='silverstripe-cache'). See the environment management section for more information.

Please note: setting this environment variable will impact both requests served by a webserver (i.e. a typical website pageview) and command-line execution. If your webserver user and command-line user are different, or have different filesystem permissions, you may encounter problems when using this setting.

The new SS_TEMP_PATH environment variable replaces the similarly-named TEMP_PATH environment variable, which only ever offered partial support for adjusting the temporary files' location. This is because setting a TEMP_PATH environment variable would affect Injector service definitions, but would not affect code that referenced the TEMP_PATH PHP constant. The confusion with both environment variables and PHP constants having the same name is why the environment variable has been renamed and prefixed with SS_, in-keeping with other environment variables.

The functionality of the TEMP_PATH and TEMP_FOLDER PHP constants remains unchanged.

Bugfixes

This release includes a number of bug fixes to improve a broad range of areas. Check the change logs for full details of these fixes split by module. Thank you to the community members that helped contribute these fixes as part of the release!