* DOC add missing closing detail tag * DOC RC changelog tweaks into stable changelog * DOC Add reference to FirstPage and LastPage * DOC Remove IE11 from supported browsers * DOC Final pre-release tweaks to 4.10 changelog * DOC Minor tweak to 4.10 changelog Co-authored-by: Michal Kleiner <mk@011.nz> * Update docs/en/04_Changelogs/4.10.0.md Co-authored-by: GuySartorelli <36352093+GuySartorelli@users.noreply.github.com> Co-authored-by: Michal Kleiner <mk@011.nz> Co-authored-by: Steve Boyd <emteknetnz@gmail.com> Co-authored-by: GuySartorelli <36352093+GuySartorelli@users.noreply.github.com>
9.4 KiB
4.10.0
Overview
A full list of module versions included in CMS Recipe 4.10.0 is provided below. We recommend referencing recipes in your dependencies, rather than individual modules, to simplify version tracking. See Recipes for more information.
- Regression test and Security audit
- PHPUnit 9.5 and PHP 8.0 official support
- Dropping support for legacy technologies
- Features and enhancements
- Bugfixes
Included module versions
Module | Version |
---|---|
silverstripe/admin | 1.10.0 |
silverstripe/asset-admin | 1.10.0 |
silverstripe/assets | 1.10.0 |
silverstripe/campaign-admin | 1.10.0 |
silverstripe/cms | 4.10.0 |
silverstripe/config | 1.3.0 |
silverstripe/errorpage | 1.10.0 |
silverstripe/framework | 4.10.0 |
silverstripe/graphql | 3.7.1 |
silverstripe/login-forms | 4.6.0 |
silverstripe/mimevalidator | 2.3.0 |
silverstripe/reports | 4.10.0 |
silverstripe/siteconfig | 4.10.0 |
silverstripe/versioned | 1.10.0 |
silverstripe/versioned-admin | 1.10.0 |
Supported module versions
Module | Version |
---|---|
bringyourownideas/silverstripe-composer-update-checker | 2.1.0 |
bringyourownideas/silverstripe-maintenance | 2.4.1 |
cwp/agency-extensions | 2.6.0 |
cwp/cwp | 2.9.0 |
cwp/cwp-core | 2.9.0 |
cwp/cwp-pdfexport | 1.3.0 |
cwp/cwp-search | 1.6.0 |
cwp/starter-theme | 3.2.0 |
cwp/watea-theme | 3.1.0 |
dnadesign/silverstripe-elemental | 4.8.0 |
dnadesign/silverstripe-elemental-userforms | 3.1.0 |
silverstripe/akismet | 4.2.0 |
silverstripe/auditor | 2.4.0 |
silverstripe/blog | 3.9.0 |
silverstripe/ckan-registry | 1.4.0 |
silverstripe/comment-notifications | 2.2.0 |
silverstripe/comments | 3.7.2 |
silverstripe/content-widget | 2.3.0 |
silverstripe/contentreview | 4.4.0 |
silverstripe/crontask | 2.4.0 |
silverstripe/documentconverter | 2.2.0 |
silverstripe/elemental-bannerblock | 2.4.0 |
silverstripe/elemental-fileblock | 2.4.0 |
silverstripe/environmentcheck | 2.4.0 |
silverstripe/externallinks | 2.2.0 |
silverstripe/fulltextsearch | 3.9.0 |
silverstripe/gridfieldqueuedexport | 2.6.1 |
silverstripe/html5 | 2.2.0 |
silverstripe/hybridsessions | 2.4.0 |
silverstripe/iframe | 2.2.0 |
silverstripe/ldap | 1.3.0 |
silverstripe/mfa | 4.5.1 |
silverstripe/realme | 4.2.0 |
silverstripe/registry | 2.4.0 |
silverstripe/restfulserver | 2.4.0 |
silverstripe/security-extensions | 4.2.1 |
silverstripe/securityreport | 2.4.0 |
silverstripe/segment-field | 2.4.0 |
silverstripe/sharedraftcontent | 2.6.0 |
silverstripe/sitewidecontent-report | 3.2.0 |
silverstripe/spamprotection | 3.2.0 |
silverstripe/spellcheck | 2.3.0 |
silverstripe/subsites | 2.5.0 |
silverstripe/tagfield | 2.8.0 |
silverstripe/taxonomy | 2.3.0 |
silverstripe/textextraction | 3.3.0 |
silverstripe/totp-authenticator | 4.3.0 |
silverstripe/userforms | 5.11.1 |
silverstripe/versionfeed | 2.2.0 |
silverstripe/webauthn-authenticator | 4.4.1 |
silverstripe/widgets | 2.2.0 |
symbiote/silverstripe-advancedworkflow | 5.6.0 |
symbiote/silverstripe-multivaluefield | 5.2.0 |
symbiote/silverstripe-queuedjobs | 4.9.0 |
tractorcow/silverstripe-fluent | 4.6.0 |
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.
PHPUnit 9.5 and PHP 8.0 official support
Previous Silverstripe CMS Recipe releases could be run against PHP 8.0. However, the Silverstripe CMS Recipe 4.10.0 is the first release to officially support PHP 8.0.
The major road block to official PHP 8.0 support was our reliance on a deprecated version of PHPUnit. Adding support for PHPUnit 9.5 removed this road block. All core module tests have been rewritten to run with PHPUnit 9.5.
What about my project test suite?
Silverstripe CMS Recipe 4.10.0 retains support for the sminnee/phpunit
fork of PHPUnit 5.7. So your project's tests can still be run without modification as long as you are not using PHP 8.0. If you want your own tests to run with PHP 8.0, then you have to upgrade to PHPUnit 9.5 and update your tests to be compatible with the latest PHPUnit API.
Our intention is to remove the PHPUnit 5.7 compatibility layer in the first Silverstripe CMS release of 2023. This gives projects about a year to migrate their test coverage to PHPUnit 9.5.
Read Upgrading to PHPUnit 9.5 for PHP 8 support for more details on how to migrate to PHPUnit 9.5.
Jump on the Silverstripe CMS forum if you have questions about converting your tests to be compatible with PHPUnit 9.5.
Dropping support for legacy technologies
Silverstripe CMS Recipe 4.10 drops support for end-of-life PHP versions and for all remaining versions of Microsoft Internet Explorer.
Read Some upcoming changes to Silverstripe CMS on the Silverstripe CMS blog for more details about why me implemented those changes.
Dropping support for PHP 7.1 and PHP 7.2
We've recently updated our PHP support policy. The immediate affects of this change 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 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.
Composer will block installation of Silverstripe CMS 4.10 modules on any version of PHP prior to PHP 7.3 unless you use the --ignore-platform-req=php
flag. Ignoring platform requirement is not a supported use case and we advise against it.
Dropping support for Microsoft Internet Explorer
Silverstripe CMS Recipe 4.10 has not been tested against any version of Microsoft Internet Explorer. There's no constraint or warning that would prevent Internet Explorer 11 users from accessing the CMS interface. CMS interfaces may still be functional in Internet Explorer 11. However, we provide no guarantee that that those interfaces will keep working in future releases.
Note that this does not affect your ability to support Internet Explorer 11 users on the front end of your Silverstripe CMS website if you so desire.
Features and enhancements
New SS_TEMP_PATH
environment variable
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:
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 in the Silverstripe CMS documentation 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.
Other minor improvements
- New
PaginatedList
template variables for$FirstPage
and$LastPage
make it easier to style your pagination based on what page is being rendered. - An
afterUpdateCMSFields
method has been added toDataObject
to complement the pre-existingbeforeUpdateCMSFields
.
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!