DOC Final 4.10 pre-release changelog tweaks (#10210)

* 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>
This commit is contained in:
Maxime Rainville 2022-01-25 11:39:58 +13:00 committed by GitHub
parent 0cfd98d87a
commit 962ff93076
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 141 additions and 10 deletions

View File

@ -286,7 +286,6 @@ table may be of use:
Silverstripe CMS supports the following web browsers:
* Google Chrome
* Internet Explorer 11
* Microsoft Edge
* Mozilla Firefox

View File

@ -102,7 +102,7 @@ $pages->setPageLength(25);
If you set this limit to 0 it will disable paging entirely, effectively causing it to appear as a single page
list.
## Template Variables
## Template Variables {#variables}
| Variable | Description |
| -------- | -------- |
@ -116,6 +116,8 @@ list.
| `$Pages` | Total number of pages. |
| `$PageNum` | Page number, starting at 1 (within `$Pages`) |
| `$Link` | Links to the current controller URL, setting this page as current via a GET parameter |
| `$FirstPage` | Returns true if you're currently on the first page |
| `$LastPage` | Returns true if you're currently on the last page |
| `$CurrentBool` | Returns true if you're currently on that page |
## Related Lessons

View File

@ -1,12 +1,102 @@
# 4.10.0 (unreleased)
# 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](/getting_started/recipes/) for more information.
- [Regression test and Security audit](#audit)
- [Dropping support for PHP 7.1 and PHP 7.2](#phpeol)
- [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)
- [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>
## Regression test and Security audit{#audit}
@ -14,28 +104,67 @@ This release has been comprehensively regression tested and passed to a third pa
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{#phpeol}
## PHPUnit 9.5 and PHP 8.0 official support{#php8}
We've recently updated our [PHP support policy](/Getting_Started/Server_Requirements#php). The immediate affects of this changes are:
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 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 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}
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.
- 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.
## 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) and [Partial Template Caching](/developer_guides/templates/partial_template_caching).
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](/getting_started/environment_management) section for more information.
- [Manifests](/developer_guides/execution_pipeline/manifests)
- [Object Caching](/developer_guides/performance/caching)
- [Partial Template Caching](/developer_guides/templates/partial_template_caching).
**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 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.
### 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`.
## 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!

View File

@ -31,6 +31,7 @@ A full list of module versions included in CMS Recipe 4.10.0-rc1 is provided bel
| silverstripe/siteconfig | 4.10.0-rc1 |
| silverstripe/versioned | 1.10.0-rc1 |
| silverstripe/versioned-admin | 1.10.0-rc1 |
</details>
<details>
<summary>Supported module versions</summary>