silverstripe-framework/docs/en/04_Changelogs/4.10.0.md

176 lines
9.4 KiB
Markdown
Raw Normal View History

# 4.10.0
2021-11-02 11:17:24 +01:00
## 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](/getting_started/recipes/) for more information.
2021-11-02 11:17:24 +01:00
- [Regression test and Security audit](#audit)
- [PHPUnit 9.5 and PHP 8.0 official support](#php8)
- [Dropping support for legacy technologies](#eol)
- [Dropping support for PHP 7.1 and PHP 7.2](#phpeol)
- [Dropping support for Microsoft Internet Explorer](#ie11)
2021-11-02 11:17:24 +01:00
- [Features and enhancements](#features-and-enhancements)
- [Bugfixes](#bugfixes)
<details>
<summary>Included module versions</summary>
| 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 |
</details>
<details>
<summary>Supported module versions</summary>
| 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 |
</details>
2021-11-02 11:17:24 +01:00
## Regression test and Security audit{#audit}
This release has been comprehensively regression tested and passed to a third party for a security-focused audit.
2021-11-02 11:17:24 +01:00
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{#php8}
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](/upgrading/phpunit9/) for more details on how to migrate to PHPUnit 9.5.
Jump on the [Silverstripe CMS forum](https://forum.silverstripe.org/tag/phpunit95) if you have questions about converting your tests to be compatible with PHPUnit 9.5.
## Dropping support for legacy technologies{#eol}
2021-11-02 11:17:24 +01:00
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](https://www.silverstripe.org/blog/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{#phpeol}
We've recently updated our [PHP support policy](/Getting_Started/Server_Requirements#php). 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.
2021-11-02 11:17:24 +01:00
- 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{#ie11}
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.
2021-11-02 11:17:24 +01:00
## Features and enhancements {#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:
- [Manifests](/developer_guides/execution_pipeline/manifests)
- [Object Caching](/developer_guides/performance/caching)
- [Partial Template Caching](/developer_guides/templates/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](/getting_started/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](/developer_guides/extending/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.
2021-11-02 11:17:24 +01:00
### Other minor improvements
- New [`PaginatedList` template variables for `$FirstPage` and `$LastPage`](/Developer_Guides/Templates/How_Tos/Pagination#template-variables) make it easier to style your pagination based on what page is being rendered.
- An `afterUpdateCMSFields` method has been added to [`DataObject`](api:SilverStripe\ORM\DataObject) to complement the pre-existing `beforeUpdateCMSFields`.
2021-11-02 11:17:24 +01:00
## Bugfixes {#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!
2021-11-02 11:17:24 +01:00
<!--- Changes below this line will be automatically regenerated -->
2021-11-02 11:17:24 +01:00
<!--- Changes above this line will be automatically regenerated -->