silverstripe-framework/docs/en/04_Changelogs/4.10.0.md
2022-01-25 16:04:06 +13:00

786 lines
65 KiB
Markdown

# 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)
- [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}
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{#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 have to upgrade to PHPUnit 9.5 and update your tests to be compatible with the latest PHPUnit API.
We'll be providing guidance on how to transition to PHPUnit 9.5 closer to the 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}
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)
- [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.
### 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!
<!--- Changes below this line will be automatically regenerated -->
## Change Log
### Security
* silverstripe/admin (1.9.0 -&gt; 1.10.0)
* 2021-09-01 [080e520](https://github.com/silverstripe/silverstripe-admin/commit/080e520503ce3a43a33ee148001884041fd3aa5e) Escape html tag characters in link text (Steve Boyd) - See [cve-2021-36150](https://www.silverstripe.org/download/security-releases/cve-2021-36150)
### Features and Enhancements
* silverstripe/framework (4.9.0 -&gt; 4.10.0)
* 2021-11-16 [cbc4593ab](https://github.com/silverstripe/silverstripe-framework/commit/cbc4593ab464cf43f6c0edfb9cde75f68a5740ce) Don&amp;#039;t index test from PHPUNit 5.7 module wdon using PHPUnit 9.5 (Maxime Rainville)
* 2021-11-16 [640a7e3ee](https://github.com/silverstripe/silverstripe-framework/commit/640a7e3eeaaf6b51869f7e15d3aff1da2ccafd6d) Improve ManifestFileFinder so it can ignore test based on the testing library (Maxime Rainville)
* 2021-11-07 [20134e6a4](https://github.com/silverstripe/silverstripe-framework/commit/20134e6a4f77907f560f240a68d1d627a0d23b38) Add FirstPage() and LastPage() to PaginatedList (#10129) (Loz Calver)
* 2021-11-03 [b8d37f9ae](https://github.com/silverstripe/silverstripe-framework/commit/b8d37f9ae43b971890ae311d8bdcfaf5c32927ae) Validate the Title on Group is not empty (#10113) (Kirk Mayo)
* 2021-10-26 [059d8aac0](https://github.com/silverstripe/silverstripe-framework/commit/059d8aac0ad92b007c7299843127bd8f0292b1ec) Add afterUpdateCMSFields method to DataObject. (#9819) (GuySartorelli)
* 2021-10-18 [49a7f08c0](https://github.com/silverstripe/silverstripe-framework/commit/49a7f08c07142b9cf4cf4afcf525f6b271efac85) Display validation messages for GridFields (#10015) (GuySartorelli)
* 2021-09-24 [7226d7fab](https://github.com/silverstripe/silverstripe-framework/commit/7226d7fab6e3e10566892f5a2222d57de3266eae) Add tests for Hierarchy extension when applied to a subclass (Michal Kleiner)
* silverstripe/cms (4.9.0 -&gt; 4.10.0)
* 2021-11-15 [1db69ee9](https://github.com/silverstripe/silverstripe-cms/commit/1db69ee91ad8ed7a9c34a8e37b1d9338d1472dcb) Add tests for absolute URLs in get_by_link (Guy Sartorelli)
* 2021-09-06 [f3a76ccf](https://github.com/silverstripe/silverstripe-cms/commit/f3a76ccf2d52f7eaeb0cb7b70be389613c979805) getByLink plugin allows arrays of links (#2666) (Aaron Carlino)
* silverstripe/login-forms (4.5.0 -&gt; 4.6.0)
* 2021-09-08 [0717d4b](https://github.com/silverstripe/silverstripe-login-forms/commit/0717d4b1320ac4397cb4d02fd99cf8752f04efb3) Add ContentLocale method to Security controller (#101) (Bram de Leeuw)
* silverstripe/taxonomy (2.2.0 -&gt; 2.3.0)
* 2021-10-18 [83a736b](https://github.com/silverstripe/silverstripe-taxonomy/commit/83a736b1e3f9a7e7bb9601b8d501d63aaa107ad5) Add config to enable/disable Type inheritance (#74) (Chris Penny)
* silverstripe/userforms (5.10.0 -&gt; 5.11.1)
* 2021-10-18 [2691ac3](https://github.com/silverstripe/silverstripe-userforms/commit/2691ac354e2a16d71eec8981b0cc1b2bbf4071a0) Provide submitted form info to submission email data (#1113) (Michal Kleiner)
* 2021-09-15 [6093179](https://github.com/silverstripe/silverstripe-userforms/commit/60931791fbc70f95ccba8c3c86a0a5d012f27491) Scroll back to top after pressing PREV/NEXT buttons (#1109) (Joon Yoon)
* dnadesign/silverstripe-elemental (4.7.0 -&gt; 4.8.0)
* 2021-10-19 [d94cadc](https://github.com/silverstripe/silverstripe-elemental/commit/d94cadc7766af5c1dfcca714efb4214876cc8512) Add extension points to update element controller styles and template (Michal Kleiner)
* silverstripe/fulltextsearch (3.8.0 -&gt; 3.9.0)
* 2021-11-21 [9dfcbf9](https://github.com/silverstripe/silverstripe-fulltextsearch/commit/9dfcbf9c906dfe0263f6c945a0c59e69297dd70c) Show error message instead of error code on WebDAV check (Michal Kleiner)
### Bugfixes
* silverstripe/framework (4.9.0 -&gt; 4.10.0)
* 2021-12-13 [e11820d44](https://github.com/silverstripe/silverstripe-framework/commit/e11820d44f184f337bec1625e81b0a23b1a4a11e) Look for existing modules in vendor folder rather than base folder (Steve Boyd)
* 2021-11-25 [a3d964868](https://github.com/silverstripe/silverstripe-framework/commit/a3d964868732d035043f4b1c53dcf2404f119597) Ensure tmpItem has a value before calling method_exists on it (Steve Boyd)
* 2021-11-24 [fe653b5e1](https://github.com/silverstripe/silverstripe-framework/commit/fe653b5e1314cdb59896d3ed004ab36bb4fbed1d) Fix typo (Matt Peel)
* 2021-11-15 [29fa365d1](https://github.com/silverstripe/silverstripe-framework/commit/29fa365d1082e5bfcf42ad1f2d37a647f36a361e) Fix support for setting TEMP_PATH in .env (fixes #8099) (#10138) (Loz Calver)
* 2021-11-07 [b1eb9514d](https://github.com/silverstripe/silverstripe-framework/commit/b1eb9514d46147628b7a9c46740f38e15d775079) Prioritise posix_getuid() when attempting to find current process owner (#10137) (Loz Calver)
* 2021-11-04 [d6866af7e](https://github.com/silverstripe/silverstripe-framework/commit/d6866af7e590c6ae0437a605fcb0ab523f27b114) Fix broken tests (Loz Calver)
* 2021-10-18 [6e2955fe1](https://github.com/silverstripe/silverstripe-framework/commit/6e2955fe1483fe97c46815257e5fb9986d634f0a) Allow extension of getAttributes for Tab and TabSet (#9954) (Thomas Portelange)
* 2021-09-20 [d6ea45d4b](https://github.com/silverstripe/silverstripe-framework/commit/d6ea45d4bf77b04cd9b3315de4790c9e434b51aa) fix invalid link in docs (wernerkrauss)
* 2021-09-09 [1c698348a](https://github.com/silverstripe/silverstripe-framework/commit/1c698348a21d0492bff362b2207f4802edb79229) When asserting an email was sent, sanitise both the To and From field (Maxime Rainville)
* 2021-09-06 [0a389112c](https://github.com/silverstripe/silverstripe-framework/commit/0a389112ca0e09332a2bca6ab0cc52afeb56206e) Only send email if email address set (Steve Boyd)
* 2021-08-30 [1e5414eac](https://github.com/silverstripe/silverstripe-framework/commit/1e5414eac7ba9800b0848da2422f4d7033d562fc) Use correct ancestor class when querying for stage and live children (Michal Kleiner)
* 2021-08-27 [d2d9ce6c1](https://github.com/silverstripe/silverstripe-framework/commit/d2d9ce6c13228321aac5e10d67914bc8fd5d674a) Fix formatting error in table listing around TEMP_PATH. (Patrick Nelson)
* 2021-08-22 [a6d68abbb](https://github.com/silverstripe/silverstripe-framework/commit/a6d68abbbce985676e38bcfc44e446103233672c) Fix missing “with .env files” in published docs (Patrick Nelson)
* 2021-07-13 [31668e8ac](https://github.com/silverstripe/silverstripe-framework/commit/31668e8acf3980994cf183c172b8a5860bf0865a) fix: remove login marker cookie on logout (Florian Thoma)
* silverstripe/admin (1.9.0 -&gt; 1.10.0)
* 2021-12-10 [5e25ced](https://github.com/silverstripe/silverstripe-admin/commit/5e25cedb9c3977185b33f7169e22d929e87a7f61) Allow double digit minor version numbers (Steve Boyd)
* 2021-12-07 [5b592b2](https://github.com/silverstripe/silverstripe-admin/commit/5b592b2aa8632640c379a6dc5e54fe69d6a8216c) Toast padding (Steve Boyd)
* silverstripe/cms (4.9.0 -&gt; 4.10.0)
* 2021-11-04 [480baa6e](https://github.com/silverstripe/silverstripe-cms/commit/480baa6ef8f6373071065eb62d6eb6a8805afac9) Use correct canonical tag on VirtualPage (#2688) (Florian Thoma)
* 2021-11-03 [bcbeb6d6](https://github.com/silverstripe/silverstripe-cms/commit/bcbeb6d626b733d8b193bd40f31a2cd97dba432f) SiteTreeLinkTracking_Parser should use the getAnchorsOnPage (#2697) (kevin-hine-innis)
* 2021-10-18 [ecd9759f](https://github.com/silverstripe/silverstripe-cms/commit/ecd9759f83f2fc79181e95d201cb86826118c539) Remove unused code (#2693) (Adrian Humphreys)
* 2021-09-28 [2bf691f5](https://github.com/silverstripe/silverstripe-cms/commit/2bf691f548444589ee995dcc1a752a0241e6bcdc) ensure updateAnchorsOnPage extension is called (#2686) (kevin-hine-innis)
* 2021-09-21 [734eb392](https://github.com/silverstripe/silverstripe-cms/commit/734eb3921fe71b4d90a9b7ac0fd321bb731bfec1) Treat absolute links in a consistent manner in get_by_link. (GuySartorelli)
* silverstripe/graphql (3.6.0 -&gt; 3.7.1)
* 2021-09-01 [c7002f9](https://github.com/silverstripe/silverstripe-graphql/commit/c7002f9af99f4d92c77f17b6ae2f6aecf8e152ab) fix: typo in documentation (Nick Lamprecht)
* silverstripe/tagfield (2.7.0 -&gt; 2.8.0)
* 2021-10-15 [b81546d](https://github.com/silverstripe/silverstripe-tagfield/commit/b81546d55553c33ff7f0ae49cc737295768fb1dc) Use existing source datalist if available before creating a new one (closes #171) (Joseph Madden)
* 2021-10-15 [55e0373](https://github.com/silverstripe/silverstripe-tagfield/commit/55e03731bf06efff3dc8cfe1877e6b4c09d828f6) Use existing source datalist if available before creating a new one (Joseph Madden)
* silverstripe/comments (3.6.0 -&gt; 3.7.2)
* 2021-10-14 [066b28b](https://github.com/silverstripe/silverstripe-comments/commit/066b28bb3d374356746e1ea7727000e65d0644d5) Fix broken link in README.md (Loz Calver)
* silverstripe/sharedraftcontent (2.5.0 -&gt; 2.6.0)
* 2021-10-18 [03e1191](https://github.com/silverstripe/silverstripe-sharedraftcontent/commit/03e11914926af406e45253ac671ac9578857d3b6) add user agent to indicate request is automated (#153) (Will Rossiter)
* bringyourownideas/silverstripe-composer-update-checker (2.0.3 -&gt; 2.1.0)
* 2020-04-06 [de75efe](https://github.com/bringyourownideas/silverstripe-composer-update-checker/commit/de75efe66325e84583b3788a9f3bdbbab7739b87) Change dir permissions fix (avoid switching current dir when not necessary) (Mojmir Fendek)
* silverstripe/fulltextsearch (3.8.0 -&gt; 3.9.0)
* 2021-12-15 [a621f77](https://github.com/silverstripe/silverstripe-fulltextsearch/commit/a621f77380ff7358a0501e41ee09107620f99170) Allow deprecated warnings (Steve Boyd)
* 2021-08-23 [83af73c](https://github.com/silverstripe/silverstripe-fulltextsearch/commit/83af73c9f66a8881129dcd97beeababb72f329c4) Only use values that are not empty (Michal Kleiner)
* 2021-02-24 [69ba134](https://github.com/silverstripe/silverstripe-fulltextsearch/commit/69ba134ac24c5a94f6d2a4c0104a1cc75ae41581) Always store the default field to support highlighting (GuySartorelli)
* symbiote/silverstripe-queuedjobs (4.8.0 -&gt; 4.9.0)
* 2021-10-18 [a5862ce](https://github.com/symbiote/silverstripe-queuedjobs/commit/a5862ce1122e7e6a3f58da65b554577d352cd1f5) releaseJobLock when marking a job as broken (#354) (Andrew Paxley)
* 2021-06-02 [81c0ca9](https://github.com/symbiote/silverstripe-queuedjobs/commit/81c0ca9e043b46bf865d8c7c088a6309f94df05d) fix(QueuedJobDescriptor) Ensure that anything set to &amp;#039;waiting&amp;#039; has Worker reset so it can be picked up by a worker (Marcus Nyeholt)
* silverstripe/gridfieldqueuedexport (2.5.0 -&gt; 2.6.1)
* 2021-11-07 [20c4c0e](https://github.com/silverstripe/silverstripe-gridfieldqueuedexport/commit/20c4c0ef972fb13eaf7c0bc64fa7936da97a53da) Cast IDs from database on both sides of equation #58 (#60) (Bauke)
* silverstripe/realme (4.1.1 -&gt; 4.2.0)
* 2021-11-23 [dfaf9ec](https://github.com/silverstripe/silverstripe-realme/commit/dfaf9ecd7ec0d19bfdc573d6cd02e9827694eb1b) redirect to BackURL after login, fixes #79 (Andreas Piening)
* 2021-10-21 [21dd6ff](https://github.com/silverstripe/silverstripe-realme/commit/21dd6ffe038c1addda32336c13495612390e9a89) Fix: New RealMe ITE entity IDs and SSOService endpoints (#77) (Matt Peel)
* 2021-10-14 [b66ade5](https://github.com/silverstripe/silverstripe-realme/commit/b66ade593f48a0be4f6e3f17fd38622f6d326e40) Fix: New RealMe MTS entity IDs and SSOService endpoints (#75) (Matt Peel)
* dnadesign/silverstripe-elemental-userforms (3.0.0 -&gt; 3.1.0)
* 2020-03-31 [4b51a47](https://github.com/dnadesign/silverstripe-elemental-userforms/commit/4b51a471f238f1cb34b5a0ace899738aff2aaa54) update version constraint to not include &amp;#039;@dev&amp;#039; (brynwhyman)
### API Changes
* silverstripe/installer (4.9.0 -&gt; 4.10.0)
* 2021-11-03 [54a8b8c](https://github.com/silverstripe/silverstripe-installer/commit/54a8b8ce8fc62f3d478caf435cc49970a39a96d8) phpunit 9 support (Steve Boyd)
* silverstripe/recipe-cms (4.9.0 -&gt; 4.10.0)
* 2021-11-04 [ef2201f](https://github.com/silverstripe/recipe-cms/commit/ef2201f1fe49a0fb8628e34ac09d89d035f860fe) phpunit 9 support (Steve Boyd)
* silverstripe/recipe-core (4.9.0 -&gt; 4.10.0)
* 2021-11-04 [15fd452](https://github.com/silverstripe/recipe-core/commit/15fd452966f79e2edf556be8620664c72cb24c98) phpunit 9 support (Steve Boyd)
* silverstripe/assets (1.9.0 -&gt; 1.10.0)
* 2021-11-21 [aa81d99](https://github.com/silverstripe/silverstripe-assets/commit/aa81d9908d9038b28b24f577da9160633dd832dc) Switch to using AttributesHTML on ImageManipulation trait (Maxime Rainville)
* 2021-11-01 [9329557](https://github.com/silverstripe/silverstripe-assets/commit/9329557c9ce1155d91412577d3eb414821b3b494) phpunit 9 support (#462) (Steve Boyd)
* silverstripe/config (1.2.0 -&gt; 1.3.0)
* 2021-10-27 [3a4c9d6](https://github.com/silverstripe/silverstripe-config/commit/3a4c9d6fa0e2ea7d685dce99b528e3f21aa3ec8f) phpunit 9 support (Steve Boyd)
* silverstripe/framework (4.9.0 -&gt; 4.10.0)
* 2021-11-16 [2922370d8](https://github.com/silverstripe/silverstripe-framework/commit/2922370d81418f6ae8dae3ca1e677981e454ad91) Add Module::getCILibrary function (Maxime Rainville)
* 2021-11-01 [fc349db51](https://github.com/silverstripe/silverstripe-framework/commit/fc349db511c003d4b08147f0bf4ed2904d5b304d) Add a way to check if a form or form field has an extra css class (#10112) (GuySartorelli)
* 2021-10-27 [cd076542f](https://github.com/silverstripe/silverstripe-framework/commit/cd076542f4ec903048011d0e1c049f3a70d91307) Upgrade SapphireTest to work with phpunit 9 (#10028) (Steve Boyd)
* 2021-07-27 [b43d68f9b](https://github.com/silverstripe/silverstripe-framework/commit/b43d68f9b40098f6f8bbda66b3e571636b4235ac) Add an AttributesHTML trait (Maxime Rainville)
* silverstripe/mimevalidator (2.2.0 -&gt; 2.3.0)
* 2021-10-27 [37f77c9](https://github.com/silverstripe/silverstripe-mimevalidator/commit/37f77c95d25c41ca690768e16f38b0cfd66e197f) phpunit 9 support (Steve Boyd)
* silverstripe/admin (1.9.0 -&gt; 1.10.0)
* 2021-10-27 [6ba9b94](https://github.com/silverstripe/silverstripe-admin/commit/6ba9b94287c9639a457bdff21e052f816e09d460) phpunit 9 support (Steve Boyd)
* silverstripe/asset-admin (1.9.0 -&gt; 1.10.0)
* 2021-10-27 [02b1a5d8](https://github.com/silverstripe/silverstripe-asset-admin/commit/02b1a5d86dcf7d6e53e739665dfe3c8709cfc2fe) phpunit9 support (Steve Boyd)
* silverstripe/campaign-admin (1.9.0 -&gt; 1.10.0)
* 2021-10-27 [6137ff9](https://github.com/silverstripe/silverstripe-campaign-admin/commit/6137ff90430e912f2e8fd2d750a2ce5e598a7e16) phpunit9 support (Steve Boyd)
* silverstripe/versioned-admin (1.9.0 -&gt; 1.10.0)
* 2021-10-27 [ec4fe18](https://github.com/silverstripe/silverstripe-versioned-admin/commit/ec4fe18b9e2545d9b7aac1433550c3a036782028) phpunit9 support (Steve Boyd)
* silverstripe/cms (4.9.0 -&gt; 4.10.0)
* 2021-10-27 [360fbcd8](https://github.com/silverstripe/silverstripe-cms/commit/360fbcd878c31625be57a8593943ac62556a5232) phpunit9 support (Steve Boyd)
* silverstripe/errorpage (1.9.0 -&gt; 1.10.0)
* 2021-10-27 [ee11e69](https://github.com/silverstripe/silverstripe-errorpage/commit/ee11e696d4b320eb05b7e0d8a49dd35b8445e477) phpunit9 support (Steve Boyd)
* silverstripe/reports (4.9.0 -&gt; 4.10.0)
* 2021-10-27 [9f76ec2a](https://github.com/silverstripe/silverstripe-reports/commit/9f76ec2a43f78c7f17d79e7c96328830f3c0fcda) phpunit9 support (Steve Boyd)
* silverstripe/siteconfig (4.9.0 -&gt; 4.10.0)
* 2021-10-27 [fc59cfad](https://github.com/silverstripe/silverstripe-siteconfig/commit/fc59cfad0112b3253b29377704d9bae85e832cd4) phpunit9 support (Steve Boyd)
* silverstripe/versioned (1.9.0 -&gt; 1.10.0)
* 2021-11-01 [9b39e92](https://github.com/silverstripe/silverstripe-versioned/commit/9b39e92dba070a4e02fa6324f1ab9dd96774d598) phpunit 9 support (Steve Boyd)
* silverstripe/graphql (3.6.0 -&gt; 3.7.1)
* 2021-11-01 [55b598d](https://github.com/silverstripe/silverstripe-graphql/commit/55b598d9305ca58d7095bfad8e89676bb44b16d8) phpunit9 support (Steve Boyd)
* silverstripe/session-manager (1.1.0 -&gt; 1.2.0)
* 2021-10-27 [cccd1a8](https://github.com/silverstripe/silverstripe-session-manager/commit/cccd1a88b9436c9f2eb97160292e5e057148371f) phpunit9 support (Steve Boyd)
* silverstripe/login-forms (4.5.0 -&gt; 4.6.0)
* 2021-10-27 [c1bf3d5](https://github.com/silverstripe/silverstripe-login-forms/commit/c1bf3d5419728d1ac118df325121749f46517110) phpunit 9 support (Steve Boyd)
* silverstripe/recipe-authoring-tools (1.9.0 -&gt; 1.10.0)
* 2021-11-03 [89f14a3](https://github.com/silverstripe/recipe-authoring-tools/commit/89f14a3fbe56f4a5dc8f3d0600aea25d74b8477f) phpunit 9 support (Steve Boyd)
* silverstripe/documentconverter (2.1.1 -&gt; 2.2.0)
* 2021-10-27 [724b1f1](https://github.com/silverstripe/silverstripe-documentconverter/commit/724b1f110a6e49f6429ee769b1dd0eb7ace74b4b) phpunit 9 support (Steve Boyd)
* silverstripe/iframe (2.1.0 -&gt; 2.2.0)
* 2021-10-27 [1b3496d](https://github.com/silverstripe/silverstripe-iframe/commit/1b3496d66e2a257cc22c64b06986817be56ebf21) phpunit 9 support (Steve Boyd)
* silverstripe/spellcheck (2.2.1 -&gt; 2.3.0)
* 2021-10-27 [8c19001](https://github.com/silverstripe/silverstripe-spellcheck/commit/8c190014fa74d962079616e74741df4091076bbb) phpunit 9 support (Steve Boyd)
* silverstripe/tagfield (2.7.0 -&gt; 2.8.0)
* 2021-10-27 [5eae80a](https://github.com/silverstripe/silverstripe-tagfield/commit/5eae80abb3cac384651b7a25552b2b2a08ea75aa) phpunit 9 support (Steve Boyd)
* silverstripe/taxonomy (2.2.0 -&gt; 2.3.0)
* 2021-10-27 [99ec82a](https://github.com/silverstripe/silverstripe-taxonomy/commit/99ec82a34b5d83ac1dc3b91e77f190f7d29e7c90) phpunit 9 support (Steve Boyd)
* silverstripe/recipe-blog (1.9.0 -&gt; 1.10.0)
* 2021-11-09 [09ea4ab](https://github.com/silverstripe/recipe-blog/commit/09ea4abe4ad4926b89f2ab34a7b452b1bdc95005) phpunit 9 support (Steve Boyd)
* silverstripe/blog (3.8.0 -&gt; 3.9.0)
* 2021-11-01 [d8ecb77](https://github.com/silverstripe/silverstripe-blog/commit/d8ecb779095886ddfad0af158625c9727ebbdf64) phpunit9 support (Steve Boyd)
* silverstripe/widgets (2.1.1 -&gt; 2.2.0)
* 2021-10-21 [a08aa08](https://github.com/silverstripe/silverstripe-widgets/commit/a08aa08f4deeeb3a2a4e6fe74e31530958f4a34c) phpunit 9 support (Steve Boyd)
* silverstripe/content-widget (2.2.0 -&gt; 2.3.0)
* 2021-10-27 [becd345](https://github.com/silverstripe/silverstripe-content-widget/commit/becd34554493bd2c0f61f6d7a1393c34ee43394c) phpunit 9 support (Steve Boyd)
* silverstripe/spamprotection (3.1.0 -&gt; 3.2.0)
* 2021-10-27 [46169f7](https://github.com/silverstripe/silverstripe-spamprotection/commit/46169f71a0a2629ef928fa70b702ad85aeccbca7) phpunit 9 support (Steve Boyd)
* silverstripe/akismet (4.1.0 -&gt; 4.2.0)
* 2021-10-27 [cfe39ac](https://github.com/silverstripe/silverstripe-akismet/commit/cfe39ac399cdca5cf3482d3cbf1e39ad5aa00155) phpunit9 support (Steve Boyd)
* silverstripe/comments (3.6.0 -&gt; 3.7.2)
* 2021-10-27 [305ae6b](https://github.com/silverstripe/silverstripe-comments/commit/305ae6b4b8b32f9042131c958061b4e00bcfc7c9) phpunit 9 support (Steve Boyd)
* silverstripe/comment-notifications (2.1.0 -&gt; 2.2.0)
* 2021-10-27 [7fc7c4a](https://github.com/silverstripe/comment-notifications/commit/7fc7c4a1bf071577dc05025d9e318547d675a059) phpunit 9 support (Steve Boyd)
* silverstripe/recipe-collaboration (1.9.0 -&gt; 1.10.0)
* 2021-10-27 [8298b97](https://github.com/silverstripe/recipe-collaboration/commit/8298b97b811cbfb0763b99c04252efaff7f6f8b3) phpunit 9 support (Steve Boyd)
* silverstripe/contentreview (4.3.0 -&gt; 4.4.0)
* 2021-11-01 [89f58ec](https://github.com/silverstripe/silverstripe-contentreview/commit/89f58ec57376c6e6b2dc3bd75f49cc328d9a0951) phpunit 9 support (Steve Boyd)
* silverstripe/sharedraftcontent (2.5.0 -&gt; 2.6.0)
* 2021-10-27 [87823c4](https://github.com/silverstripe/silverstripe-sharedraftcontent/commit/87823c4bc6799fde673618b5b20f58ad29a08fc5) phpunit 9 support (Steve Boyd)
* symbiote/silverstripe-advancedworkflow (5.5.0 -&gt; 5.6.0)
* 2021-11-04 [9f8545c](https://github.com/symbiote/silverstripe-advancedworkflow/commit/9f8545cfbe64b75f3d0fb1ffbd18ca2bbf171ab7) phpunit 9 support (Steve Boyd)
* silverstripe/recipe-form-building (1.9.0 -&gt; 1.10.0)
* 2021-11-09 [9cc67ec](https://github.com/silverstripe/recipe-form-building/commit/9cc67ecf7733e4a2ebb0a4609f72d0f543ee0ff2) phpunit 9 support (Steve Boyd)
* silverstripe/segment-field (2.4.0 -&gt; 2.5.0)
* 2021-10-27 [a5c8952](https://github.com/silverstripe/silverstripe-segment-field/commit/a5c895208be390cbc914630c0c5dba33340e4034) phpunit 9 support (Steve Boyd)
* silverstripe/userforms (5.10.0 -&gt; 5.11.1)
* 2021-11-01 [40bd88e](https://github.com/silverstripe/silverstripe-userforms/commit/40bd88e81c800e11bd2cf69c0b769fa8be0c13e6) phpunit 9 support (Steve Boyd)
* silverstripe/recipe-reporting-tools (1.9.0 -&gt; 1.10.0)
* 2021-11-10 [253ab81](https://github.com/silverstripe/recipe-reporting-tools/commit/253ab816f3efdf222bf12068abc8d69ed751a0d4) phpunit 9 support (Steve Boyd)
* silverstripe/externallinks (2.1.1 -&gt; 2.2.0)
* 2021-10-27 [fb9c340](https://github.com/silverstripe/silverstripe-externallinks/commit/fb9c340edbfda5bfe0f92a50b7e1427a582b9026) phpunit 9 support (Steve Boyd)
* silverstripe/securityreport (2.3.0 -&gt; 2.4.0)
* 2021-10-27 [1cd1d60](https://github.com/silverstripe/silverstripe-securityreport/commit/1cd1d609695d305bb4588f0daae5a44fafb29987) phpunit 9 support (Steve Boyd)
* silverstripe/sitewidecontent-report (3.1.0 -&gt; 3.2.0)
* 2021-10-27 [cb8d0a7](https://github.com/silverstripe/silverstripe-sitewidecontent-report/commit/cb8d0a788e0266f609ee4d148b4d3124ffef1634) phpunit 9 support (Steve Boyd)
* bringyourownideas/silverstripe-maintenance (2.3.1 -&gt; 2.4.1)
* 2021-11-09 [3abfa2d](https://github.com/bringyourownideas/silverstripe-maintenance/commit/3abfa2d822a29b60ea5ea3b5f07fee5c8e240935) phpunit 9 support (Steve Boyd)
* bringyourownideas/silverstripe-composer-update-checker (2.0.3 -&gt; 2.1.0)
* 2021-11-10 [d6fb30a](https://github.com/bringyourownideas/silverstripe-composer-update-checker/commit/d6fb30a4467e0546ed4de429a62bdea1fbe7809c) phpunit 9 support (Steve Boyd)
* silverstripe/recipe-services (1.9.0 -&gt; 1.10.0)
* 2021-10-27 [8ff2fed](https://github.com/silverstripe/recipe-authoring-tools/commit/8ff2fed779505aa6ef9d6abc595a6f4dadc81cbb) phpunit 9 support (Steve Boyd)
* silverstripe/restfulserver (2.3.0 -&gt; 2.4.0)
* 2021-10-27 [4a2716c](https://github.com/silverstripe/silverstripe-restfulserver/commit/4a2716cd7d77b451b8cba498ea80f41bb3cc5821) phpunit 9 support (Steve Boyd)
* silverstripe/versionfeed (2.1.0 -&gt; 2.2.0)
* 2021-10-27 [2671406](https://github.com/silverstripe/silverstripe-versionfeed/commit/2671406a86e489dc059f2969cf403ed0a40b11f6) phpunit 9 support (Steve Boyd)
* silverstripe/recipe-content-blocks (2.9.0 -&gt; 2.10.0)
* 2021-11-09 [24c2aa1](https://github.com/silverstripe/recipe-content-blocks/commit/24c2aa1be65a9e33be775408139cebe5abcecbce) phpunit 9 support (Steve Boyd)
* dnadesign/silverstripe-elemental (4.7.0 -&gt; 4.8.0)
* 2021-11-01 [9e49b0b](https://github.com/silverstripe/silverstripe-elemental/commit/9e49b0b20103fd5da1d16dd6afb5e9018a4c352f) phpunit 9 support (Steve Boyd)
* silverstripe/elemental-fileblock (2.2.0 -&gt; 2.3.0)
* 2021-10-27 [9966db1](https://github.com/silverstripe/silverstripe-elemental-fileblock/commit/9966db15edeb2808a95b90d63b43547801c52bf1) phpunit 9 support (Steve Boyd)
* silverstripe/elemental-bannerblock (2.3.0 -&gt; 2.4.0)
* 2021-11-04 [c813dd4](https://github.com/silverstripe/silverstripe-elemental-bannerblock/commit/c813dd498f68aebaa411dd760a3476c8e3fb7b27) phpunit 9 support (Steve Boyd)
* silverstripe/recipe-solr-search (2.9.0 -&gt; 2.10.0)
* 2021-11-10 [2c8e2f3](https://github.com/silverstripe/cwp-recipe-search/commit/2c8e2f3ac5265e2d825f11b2e34b282ee515ce2b) phpunit 9 support (Steve Boyd)
* cwp/cwp-search (1.5.0 -&gt; 1.6.0)
* 2021-11-05 [de8ef74](https://github.com/silverstripe/cwp-search/commit/de8ef748f731ffa3f9392e2a9b7e13cb35cf23e8) phpunit 9 support (Steve Boyd)
* silverstripe/fulltextsearch (3.8.0 -&gt; 3.9.0)
* 2021-11-02 [7528031](https://github.com/silverstripe/silverstripe-fulltextsearch/commit/752803148dfd7e87e46e26dfe2ef6fd94a333667) phpunit 9 support (Steve Boyd)
* symbiote/silverstripe-queuedjobs (4.8.0 -&gt; 4.9.0)
* 2021-11-08 [ccbb784](https://github.com/symbiote/silverstripe-queuedjobs/commit/ccbb784a9830d9c00eb298fc93423c9e103af4fd) phpunit 9 support (Steve Boyd)
* silverstripe/registry (2.3.0 -&gt; 2.4.0)
* 2021-10-27 [ec07252](https://github.com/silverstripe/silverstripe-registry/commit/ec072522b6234a54513478e4c3c8a84ad84b53b8) phpunit 9 support (Steve Boyd)
* silverstripe/totp-authenticator (4.2.0 -&gt; 4.3.0)
* 2021-10-27 [cd448c7](https://github.com/silverstripe/silverstripe-totp-authenticator/commit/cd448c7ff377dbf70e17b61d37812883217fff52) phpunit 9 support (Steve Boyd)
* silverstripe/mfa (4.4.0 -&gt; 4.5.1)
* 2021-10-27 [a82d5bd](https://github.com/silverstripe/silverstripe-mfa/commit/a82d5bd4f16857288e58bf232c4958bfc7e6bb7c) phpunit 9 support (Steve Boyd)
* silverstripe/crontask (2.3.0 -&gt; 2.4.0)
* 2021-10-27 [e536810](https://github.com/silverstripe/silverstripe-crontask/commit/e536810727b4c4720505b12cb2c543830a3e00bf) phpunit 9 support (Steve Boyd)
* silverstripe/gridfieldqueuedexport (2.5.0 -&gt; 2.6.1)
* 2021-11-01 [c35df1c](https://github.com/silverstripe/silverstripe-gridfieldqueuedexport/commit/c35df1cb4771a38084d85088f8ec384b8eac8d4b) phpunit 9 support (Steve Boyd)
* silverstripe/ldap (1.2.1 -&gt; 1.3.0)
* 2021-10-27 [09be2ac](https://github.com/silverstripe/silverstripe-ldap/commit/09be2aca1701d0dd1fe4223c060a2bae3fec7ec5) phpunit 9 support (Steve Boyd)
* silverstripe/textextraction (3.2.0 -&gt; 3.3.0)
* 2021-10-27 [b92616e](https://github.com/silverstripe/silverstripe-textextraction/commit/b92616eb4e21d0646f3886b07ecef3c7489783b5) phpunit 9 support (Steve Boyd)
* silverstripe/realme (4.1.1 -&gt; 4.2.0)
* 2021-10-27 [d390156](https://github.com/silverstripe/silverstripe-realme/commit/d39015606a97331e749934d2c52fbaf2c56cbb50) phpunit 9 support (Steve Boyd)
* silverstripe/ckan-registry (1.3.0 -&gt; 1.4.0)
* 2021-11-01 [b5d388b](https://github.com/silverstripe/silverstripe-ckan-registry/commit/b5d388be2a96984c5d61966a526db42fd784448f) phpunit9 support (Steve Boyd)
* silverstripe/webauthn-authenticator (4.3.0 -&gt; 4.4.1)
* 2021-10-27 [6f4e54b](https://github.com/silverstripe/silverstripe-webauthn-authenticator/commit/6f4e54b51805914dd23f03e91db27fac77190b9f) phpunit 9 support (Steve Boyd)
* silverstripe/security-extensions (4.1.0 -&gt; 4.2.1)
* 2021-11-15 [137618b](https://github.com/silverstripe/silverstripe-security-extensions/commit/137618be7f7a66cc1b6edb3c956c94a26cb2cd8b) phpunit 9 support (Steve Boyd)
* silverstripe/subsites (2.4.0 -&gt; 2.5.0)
* 2021-10-27 [13ab072](https://github.com/silverstripe/silverstripe-subsites/commit/13ab07230357e96df17fef6af3c9f792297f42f1) phpunit 9 support (Steve Boyd)
* silverstripe/html5 (2.1.0 -&gt; 2.2.0)
* 2021-10-27 [a253d0c](https://github.com/silverstripe/silverstripe-html5/commit/a253d0ce7d7243d335a15387d1dbdb19fa57dfb3) phpunit 9 support (Steve Boyd)
* cwp/agency-extensions (2.5.0 -&gt; 2.6.0)
* 2021-11-05 [2fc1559](https://github.com/silverstripe/cwp-agencyextensions/commit/2fc155964c4be8519dda6e9a15f72081d5fc0f76) phpunit 9 support (Steve Boyd)
* cwp/cwp-core (2.8.0 -&gt; 2.9.0)
* 2021-11-09 [2eca7d0](https://github.com/silverstripe/cwp-core/commit/2eca7d08cca79fa832d40f7cab283035747e9c3d) phpunit 9 support (Steve Boyd)
* silverstripe/auditor (2.3.0 -&gt; 2.4.0)
* 2021-10-27 [32ed6e9](https://github.com/silverstripe/silverstripe-auditor/commit/32ed6e909b8349f60c9a30f3aa8753fd70fb8721) phpunit9 support (Steve Boyd)
* silverstripe/environmentcheck (2.3.0 -&gt; 2.4.0)
* 2021-10-27 [05dd7bc](https://github.com/silverstripe/silverstripe-environmentcheck/commit/05dd7bc0a732f24b99cc6581d7ac7430e702b6ae) phpunit 9 support (Steve Boyd)
* silverstripe/hybridsessions (2.3.0 -&gt; 2.4.0)
* 2021-10-27 [ffa4706](https://github.com/silverstripe/silverstripe-hybridsessions/commit/ffa4706e3bdbbc17ded07a7c22367249820e6d88) phpunit 9 support (Steve Boyd)
* cwp/cwp (2.8.0 -&gt; 2.9.0)
* 2021-11-05 [b6f1e38](https://github.com/silverstripe/cwp/commit/b6f1e38b438ab9b95b9f573b551d52d8e7be8af7) phpunit 9 support (Steve Boyd)
* cwp/cwp-pdfexport (1.2.0 -&gt; 1.3.0)
* 2021-11-05 [cd87a88](https://github.com/silverstripe/cwp-pdfexport/commit/cd87a88b8711ea64237b5e26f65b1af26f605ede) phpunit 9 support (Steve Boyd)
* dnadesign/silverstripe-elemental-userforms (3.0.0 -&gt; 3.1.0)
* 2021-11-10 [55576e0](https://github.com/dnadesign/silverstripe-elemental-userforms/commit/55576e02aa4731114d0581af66a55f21cda46280) phpunit9 support (Steve Boyd)
* symbiote/silverstripe-multivaluefield (5.1.0 -&gt; 5.2.0)
* 2021-11-09 [3a9466b](https://github.com/symbiote/silverstripe-multivaluefield/commit/3a9466bebe0986aaf05d69e151eefb12042b06ea) phpunit 9 support (Steve Boyd)
* tractorcow/silverstripe-fluent (4.5.1 -&gt; 4.6.0)
* 2021-11-05 [c739587](https://github.com/tractorcow-farm/silverstripe-fluent/commit/c7395873b45cd9d8d878f5d081750c15a07214dc) phpunit 9 support (Steve Boyd)
### Dependencies
* silverstripe/recipe-kitchen-sink (4.9.0 -&gt; 4.10.0)
* 2021-12-03 [fbecf44](https://github.com/silverstripe/recipe-kitchen-sink/commit/fbecf448320518a4c90e823b9413b0767b5309e5) 4.10 requirements (Steve Boyd)
* 2021-11-21 [59cc95f](https://github.com/silverstripe/recipe-kitchen-sink/commit/59cc95fbe181a7478f638e6b37ac5e76bf52be8f) Remove mysite tests (Steve Boyd)
* 2021-11-17 [739ce59](https://github.com/silverstripe/recipe-kitchen-sink/commit/739ce5949d4a3480c29c59047e7602d5c24b1f9b) Remove modules that have no tests (Steve Boyd)
* 2021-11-09 [e5d2723](https://github.com/silverstripe/recipe-kitchen-sink/commit/e5d272379b5d901a50c0ff28e3739a0314d30041) Remove controllerpolicy (Steve Boyd)
* 2021-11-03 [296e0dc](https://github.com/silverstripe/recipe-kitchen-sink/commit/296e0dcb1c77f59bf52863b179d06762bbbc97bf) Use PHPUnit 9 (Steve Boyd)
* silverstripe/admin (1.9.0 -&gt; 1.10.0)
* 2021-11-24 [f3b286e](https://github.com/silverstripe/silverstripe-admin/commit/f3b286e6f76df060fd0ce67ce1ca9168d80f268c) Update JS dependencies (Steve Boyd)
* silverstripe/asset-admin (1.9.0 -&gt; 1.10.0)
* 2021-11-23 [b07f74ec](https://github.com/silverstripe/silverstripe-asset-admin/commit/b07f74ec58695029659ca82a3ba87207abcd5d0d) Update JS dependencies (Steve Boyd)
* silverstripe/campaign-admin (1.9.0 -&gt; 1.10.0)
* 2021-11-22 [840eeef](https://github.com/silverstripe/silverstripe-campaign-admin/commit/840eeef77575b34642aab78f7e77134b8ed345e0) Update JS dependencies (Steve Boyd)
* 2021-09-06 [7225248](https://github.com/silverstripe/silverstripe-campaign-admin/commit/7225248b138691b785f6f020329649b53a23d817) Bump ws from 5.2.2 to 5.2.3 (dependabot[bot])
* silverstripe/versioned-admin (1.9.0 -&gt; 1.10.0)
* 2021-11-22 [50af3f0](https://github.com/silverstripe/silverstripe-versioned-admin/commit/50af3f0e31031a778f332f305f2eb75d766baeda) Update JS dependencies (Steve Boyd)
* silverstripe/cms (4.9.0 -&gt; 4.10.0)
* 2021-11-22 [5b6b3906](https://github.com/silverstripe/silverstripe-cms/commit/5b6b3906e0265fd2445937eb6e049cf0b71d5ef6) Update JS dependencies (Steve Boyd)
* silverstripe/session-manager (1.1.0 -&gt; 1.2.0)
* 2021-11-22 [91b11a4](https://github.com/silverstripe/silverstripe-session-manager/commit/91b11a41b8869447bdd16fb89a7f74167bd6762b) Update JS dependencies (Steve Boyd)
* 2021-09-22 [5e666f7](https://github.com/silverstripe/silverstripe-session-manager/commit/5e666f708955de9b9e0cd8c9344bf2470de78256) Bump tmpl from 1.0.4 to 1.0.5 (dependabot[bot])
* silverstripe/recipe-authoring-tools (1.9.0 -&gt; 1.10.0)
* 2022-01-24 [7939a6e](https://github.com/silverstripe/recipe-authoring-tools/commit/7939a6ea90ee5141b7bc820c135315ef9165a7e4) Allow installation with any version of PHP 8 (Steve Boyd)
* 2021-11-29 [e5114d3](https://github.com/silverstripe/recipe-authoring-tools/commit/e5114d3825d6cae051476b7b403de5be21fd289f) 4.10 requirements (Steve Boyd)
* silverstripe/tagfield (2.7.0 -&gt; 2.8.0)
* 2021-11-22 [adfe0f9](https://github.com/silverstripe/silverstripe-tagfield/commit/adfe0f994e689658f52686f217e9e99c7a43eca2) Update JS dependencies (Steve Boyd)
* silverstripe/blog (3.8.0 -&gt; 3.9.0)
* 2021-11-22 [e772216](https://github.com/silverstripe/silverstripe-blog/commit/e77221646de1f1664cc336bed1280aeab7726428) Update JS dependencies (Steve Boyd)
* silverstripe/widgets (2.1.1 -&gt; 2.2.0)
* 2021-11-09 [2b9536e](https://github.com/silverstripe/silverstripe-widgets/commit/2b9536e5ae924153129380dca6a831e042615884) Use phpunit ^9.5 (Steve Boyd)
* silverstripe/comments (3.6.0 -&gt; 3.7.2)
* 2021-11-22 [aa81f8c](https://github.com/silverstripe/silverstripe-comments/commit/aa81f8cdd2d8629893cd014686b255d444f40d36) Update JS dependencies (Steve Boyd)
* silverstripe/sharedraftcontent (2.5.0 -&gt; 2.6.0)
* 2021-11-22 [c27da98](https://github.com/silverstripe/silverstripe-sharedraftcontent/commit/c27da9827407696670ee9748974089c3d9e1418f) Update JS dependencies (Steve Boyd)
* symbiote/silverstripe-advancedworkflow (5.5.0 -&gt; 5.6.0)
* 2021-12-07 [97748f3](https://github.com/symbiote/silverstripe-advancedworkflow/commit/97748f39d33e2827cf466d1339d4d82ad1e4a361) Change from tilde to caret constraint (Steve Boyd)
* 2021-12-03 [964673f](https://github.com/symbiote/silverstripe-advancedworkflow/commit/964673f59c40873bf5bfbafd13a38b48174c8236) Allow symfony 4 (Steve Boyd)
* silverstripe/segment-field (2.4.0 -&gt; 2.5.0)
* 2021-11-22 [af90676](https://github.com/silverstripe/silverstripe-segment-field/commit/af906761f2a97a71f3d9dc06ac68170ff87f9694) Update JS dependencies (Steve Boyd)
* silverstripe/userforms (5.10.0 -&gt; 5.11.1)
* 2021-11-22 [d182265](https://github.com/silverstripe/silverstripe-userforms/commit/d1822650db5c4cdb9df6065bff69e44c6d9a4186) Update JS dependencies (Steve Boyd)
* bringyourownideas/silverstripe-maintenance (2.3.1 -&gt; 2.4.1)
* 2021-11-24 [b455b9e](https://github.com/bringyourownideas/silverstripe-maintenance/commit/b455b9e9e50adaffd2c0a34ccdc7ce52df43cd4c) Update JS dependencies (Steve Boyd)
* 2021-05-26 [141d0f6](https://github.com/bringyourownideas/silverstripe-maintenance/commit/141d0f6245a2f57263c957644601b70c8fadfe06) Remove security checker from suggested modules (Maxime Rainville)
* 2021-05-10 [181cd0f](https://github.com/bringyourownideas/silverstripe-maintenance/commit/181cd0fa9ebf89fab7d03096fcd3026e9e6cb550) Bump hosted-git-info from 2.8.8 to 2.8.9 (dependabot[bot])
* 2021-05-06 [7a9dde9](https://github.com/bringyourownideas/silverstripe-maintenance/commit/7a9dde9ca7bb6100aa70df9a427eca76a160e76f) Bump ua-parser-js from 0.7.18 to 0.7.28 (dependabot[bot])
* 2020-09-04 [2de197c](https://github.com/bringyourownideas/silverstripe-maintenance/commit/2de197ce2f62276f09d41eb8cbb89e1cf5c34bc3) Bump node-sass from 4.9.0 to 4.14.1 (dependabot[bot])
* 2020-07-30 [ab98d6d](https://github.com/bringyourownideas/silverstripe-maintenance/commit/ab98d6d64bfaae6386690fc8f691ca0b117c677f) Bump elliptic from 6.4.0 to 6.5.3 (dependabot[bot])
* 2020-07-16 [8347a84](https://github.com/bringyourownideas/silverstripe-maintenance/commit/8347a8469d46b001f0a5aaa8212dd4a7e6f44fd4) Bump lodash from 4.17.15 to 4.17.19 (dependabot[bot])
* 2020-07-08 [f29128c](https://github.com/bringyourownideas/silverstripe-maintenance/commit/f29128cf02b5c0e2881dfd7f5581c471e2dd87a4) Bump npm from 6.13.4 to 6.14.6 (dependabot[bot])
* 2020-07-07 [595281b](https://github.com/bringyourownideas/silverstripe-maintenance/commit/595281bb9bd5796f0ae414863b2aa072d8d8c0bb) Bump npm-registry-fetch from 4.0.2 to 4.0.5 (dependabot[bot])
* 2020-04-30 [be6675e](https://github.com/bringyourownideas/silverstripe-maintenance/commit/be6675e3e65e29373ad5d230f058a8553e1b4dd6) Bump jquery from 3.4.1 to 3.5.0 (dependabot[bot])
* 2019-12-13 [b083b04](https://github.com/bringyourownideas/silverstripe-maintenance/commit/b083b0483ae41dc05de4eb8f33e4418576837080) Bump lodash from 4.17.10 to 4.17.15 (dependabot[bot])
* 2019-12-13 [e49de3e](https://github.com/bringyourownideas/silverstripe-maintenance/commit/e49de3e4da9430182245c4d40a6f8441ae40fa28) Bump merge from 1.2.0 to 1.2.1 (dependabot[bot])
* 2019-12-13 [b319ee7](https://github.com/bringyourownideas/silverstripe-maintenance/commit/b319ee7f163ad96543160f960813cfebd846db89) Bump fstream from 1.0.11 to 1.0.12 (dependabot[bot])
* 2019-12-13 [5c7ba8e](https://github.com/bringyourownideas/silverstripe-maintenance/commit/5c7ba8e3311930bba4ed0588612edd9c5f60fa5a) Bump npm from 6.9.0 to 6.13.4 (dependabot[bot])
* dnadesign/silverstripe-elemental (4.7.0 -&gt; 4.8.0)
* 2021-11-22 [a6f4314](https://github.com/silverstripe/silverstripe-elemental/commit/a6f4314431da7dbcf922be000245816945691998) Update JS dependencies (Steve Boyd)
* 2021-01-26 [1b1df1a](https://github.com/silverstripe/silverstripe-elemental/commit/1b1df1a88b5beeccb859bb7ae3f327692e4fdfb7) PHP8 support (Steve Boyd)
* silverstripe/elemental-bannerblock (2.3.0 -&gt; 2.4.0)
* 2021-11-22 [0d0f5d0](https://github.com/silverstripe/silverstripe-elemental-bannerblock/commit/0d0f5d081ba568e8be1a9ea5ec20201200d198a1) Update JS dependencies (Steve Boyd)
* silverstripe/fulltextsearch (3.8.0 -&gt; 3.9.0)
* 2021-12-08 [34e0594](https://github.com/silverstripe/silverstripe-fulltextsearch/commit/34e0594e48f8f5c140e3b41544d39c8f88184114) Allow symfony 4 (Steve Boyd)
* silverstripe/totp-authenticator (4.2.0 -&gt; 4.3.0)
* 2021-11-22 [4dd556a](https://github.com/silverstripe/silverstripe-totp-authenticator/commit/4dd556ae73a90421fa06f0cfbee48c8c79f0c933) Update JS dependencies (Steve Boyd)
* 2021-10-28 [c702afb](https://github.com/silverstripe/silverstripe-totp-authenticator/commit/c702afb4de7080fa24da025e86a64065cade79f7) PHP8 support (Steve Boyd)
* silverstripe/mfa (4.4.0 -&gt; 4.5.1)
* 2021-11-22 [8653bc2](https://github.com/silverstripe/silverstripe-mfa/commit/8653bc237b1952e5b1bd4eb5cd79976798c7e70f) Update JS dependencies (Steve Boyd)
* 2021-09-21 [1b31005](https://github.com/silverstripe/silverstripe-mfa/commit/1b310057c0a403c93d41944b6f19d53ae59ffb91) Bump tmpl from 1.0.4 to 1.0.5 (dependabot[bot])
* silverstripe/ckan-registry (1.3.0 -&gt; 1.4.0)
* 2021-11-22 [c8b34ad](https://github.com/silverstripe/silverstripe-ckan-registry/commit/c8b34ad8ac21a4f020c4baaa423e115b20a0ec33) Update JS dependencies (Steve Boyd)
* silverstripe/webauthn-authenticator (4.3.0 -&gt; 4.4.1)
* 2021-11-22 [0b92ac2](https://github.com/silverstripe/silverstripe-webauthn-authenticator/commit/0b92ac2df817a337c73008b54bb4ce3939aa93e2) Update JS dependencies (Steve Boyd)
* 2021-11-07 [14b1b59](https://github.com/silverstripe/silverstripe-webauthn-authenticator/commit/14b1b598c0bd0461071e98c706bb9abea85c9558) PHP 8 support (Steve Boyd)
* silverstripe/security-extensions (4.1.0 -&gt; 4.2.1)
* 2021-11-22 [124fba4](https://github.com/silverstripe/silverstripe-security-extensions/commit/124fba449fe0b7331c22ab6eba0f2a12fb4e0c9f) Update JS dependencies (Steve Boyd)
* cwp/agency-extensions (2.5.0 -&gt; 2.6.0)
* 2021-05-12 [49f715c](https://github.com/silverstripe/cwp-agencyextensions/commit/49f715c57f4d8911b3426b16698e28851808a6f6) Bump merge from 1.2.1 to 2.1.1 (dependabot[bot])
* 2021-05-08 [01878cb](https://github.com/silverstripe/cwp-agencyextensions/commit/01878cbc5f227bba9e67a5e8ad060ddbbdadfd20) Bump lodash from 4.17.20 to 4.17.21 (dependabot[bot])
* 2021-05-06 [e57ac4e](https://github.com/silverstripe/cwp-agencyextensions/commit/e57ac4e8a35d024155a872cc916ad4d6b5b8aed2) Bump ua-parser-js from 0.7.20 to 0.7.28 (dependabot[bot])
* 2021-03-30 [a6481e8](https://github.com/silverstripe/cwp-agencyextensions/commit/a6481e8a9d2abf022549836a00c0413571ed54b9) Bump y18n from 3.2.1 to 3.2.2 (dependabot[bot])
* 2021-03-09 [1e3ab04](https://github.com/silverstripe/cwp-agencyextensions/commit/1e3ab042284813991e46d07ac8a79585bb0ef292) Bump elliptic from 6.5.3 to 6.5.4 (dependabot[bot])
* 2020-11-05 [c90e2cd](https://github.com/silverstripe/cwp-agencyextensions/commit/c90e2cdae79176a8277e5270b0ea7fbb19286435) Bump dot-prop from 4.2.0 to 4.2.1 (dependabot[bot])
* silverstripe/recipe-ccl (2.9.0 -&gt; 2.10.0)
* 2021-11-11 [6110f07](https://github.com/silverstripe/recipe-ccl/commit/6110f07c0aeb71452ab5e1aaa2c35465c792937d) Use carets instead of dev requirements and use phpunit 9 (Steve Boyd)
* dnadesign/silverstripe-elemental-userforms (3.0.0 -&gt; 3.1.0)
* 2021-11-15 [183df01](https://github.com/dnadesign/silverstripe-elemental-userforms/commit/183df016a167add99db2008b88e910a4ee549422) Bump workflow version (Steve Boyd)
* 2021-11-04 [7a467e1](https://github.com/dnadesign/silverstripe-elemental-userforms/commit/7a467e12657674230e33a874a6c5f526b9e495b8) Use workflow 0.1.7 (Steve Boyd)
* 2021-11-04 [38128a2](https://github.com/dnadesign/silverstripe-elemental-userforms/commit/38128a2ab0f75d60b18c49760850c9c04123bd1a) Require dms/phpunit-arraysubset-asserts (Steve Boyd)
### Documentation
* silverstripe/framework (4.9.0 -&gt; 4.10.0)
* 2022-01-24 [2e14cb318](https://github.com/silverstripe/silverstripe-framework/commit/2e14cb3182bf8913f8d09149ac1cfdf5ebf86ff8) Final 4.10 pre-release changelog tweaks (#10210) (Maxime Rainville)
* 2021-11-30 [f3a9c566d](https://github.com/silverstripe/silverstripe-framework/commit/f3a9c566dcd420fbd6231abd73bff39fce7c6f92) Update changelog (Steve Boyd)
* 2021-11-30 [ef8669f3e](https://github.com/silverstripe/silverstripe-framework/commit/ef8669f3edd8b51bb58fe51c5169c6e90d5075e7) Document hickup with the 4.10 framework unstable (#10161) (Maxime Rainville)
* 2021-11-17 [b5bff1aa0](https://github.com/silverstripe/silverstripe-framework/commit/b5bff1aa08afc7e499fc8920728c703731621d75) GraphQL architecture diagrams (#10123) (Aaron Carlino)
* 2021-11-15 [1bc1e85f6](https://github.com/silverstripe/silverstripe-framework/commit/1bc1e85f6893338b4aa91a3a2fd740763c9654a8) Fix minor typos in Module (Maxime Rainville)
* 2021-11-09 [a08f43b76](https://github.com/silverstripe/silverstripe-framework/commit/a08f43b762343b44e2d1a7b1ac976787c40fd45c) Fix misleading code docblocks (#10145) (LiamKearn)
* 2021-11-08 [b38100715](https://github.com/silverstripe/silverstripe-framework/commit/b3810071564631984c432c7d89d9bf430e28f8ed) more guidance on how to create a module (#10131) (Bryn Whyman)
* 2021-11-08 [0e6817bb8](https://github.com/silverstripe/silverstripe-framework/commit/0e6817bb8d2721a531473c502220e3f8c90c7073) new guidance page on how to upgrade a project (#10132) (Bryn Whyman)
* 2021-11-07 [4b8bc55c4](https://github.com/silverstripe/silverstripe-framework/commit/4b8bc55c4052e2fe4b22ccfe14d76adfda41cf81) Create skeleton for 4.10.0 changelog (Steve Boyd)
* 2021-11-02 [d1cd9361d](https://github.com/silverstripe/silverstripe-framework/commit/d1cd9361d82342c7daad5ed3bc6e16a04b5373e6) Update PHP support policy (Maxime Rainville)
* 2021-10-11 [98ff02994](https://github.com/silverstripe/silverstripe-framework/commit/98ff0299416a0070128fe992fc417d8376ad840d) - Use email address (Steve Boyd)
* 2021-10-06 [e3c7c9712](https://github.com/silverstripe/silverstripe-framework/commit/e3c7c971274eb70da158ce9fe0b22d43f09eefe3) supporting notes to CWP migration docs (brynwhyman)
* 2021-10-05 [9a119a358](https://github.com/silverstripe/silverstripe-framework/commit/9a119a35816004f0fc7587a8f8b08093f11c6c9b) add release announcement link to changelog (brynwhyman)
* 2021-10-05 [41d9b400c](https://github.com/silverstripe/silverstripe-framework/commit/41d9b400c218140c4262bdd2924933d72cb8e594) clarify &amp;#039;cms recipe&amp;#039; docs (brynwhyman)
* 2021-10-03 [bad4cbef7](https://github.com/silverstripe/silverstripe-framework/commit/bad4cbef7da6e63538d0dc0385fc6bb122f06d42) Explain how to get off CWP (Maxime Rainville)
* 2021-09-24 [fbf487183](https://github.com/silverstripe/silverstripe-framework/commit/fbf487183e65ea60246578607d6a810c692a3057) update /app/code to /app/src for correct v4 structure (Michael)
* 2021-09-21 [065be7071](https://github.com/silverstripe/silverstripe-framework/commit/065be7071767a5355b3ae78b0b559b566cc2ae58) Remove reference to being able to test GraphQL v4 without inlining recipes and tweak swiftmailer doc (Maxime Rainville)
* 2021-09-14 [52e5e6239](https://github.com/silverstripe/silverstripe-framework/commit/52e5e623915a1a565d35185ba62ed9e87b48ff99) Escape HTML in heading (Steve Boyd)
* 2021-09-14 [677668f43](https://github.com/silverstripe/silverstripe-framework/commit/677668f43a651fdead5d8ce1def05e1672563a26) Mention image lazy loading available from 4.9 onwards (Steve Boyd)
* 2021-09-13 [6898dd06d](https://github.com/silverstripe/silverstripe-framework/commit/6898dd06dbf22916c9bf79f9438d79d9895978ec) Minor tweaks to changelog (Maxime Rainville)
* 2021-09-08 [25c4f92e5](https://github.com/silverstripe/silverstripe-framework/commit/25c4f92e5eaec4df9730f9d7d0e6a11bc49a1d7c) Mark TEMP_PATH as constant rather than env (Ingo Schommer)
* 2021-09-08 [022db808e](https://github.com/silverstripe/silverstripe-framework/commit/022db808e9de82562e7732f743dd9d19be4073fb) Fixed browser support regression (Ingo Schommer)
* 2021-09-06 [40bb322a7](https://github.com/silverstripe/silverstripe-framework/commit/40bb322a7e0abc641203580be59a83529c81c887) Document new DBFieldArgs plugin (#10039) (Aaron Carlino)
* 2021-09-06 [de3f125a5](https://github.com/silverstripe/silverstripe-framework/commit/de3f125a536dbe339f24b34cc79f76b4ef8698c5) Clarify recipe usages (Maxime Rainville)
* 2021-09-06 [49f2f641b](https://github.com/silverstripe/silverstripe-framework/commit/49f2f641beea23819ee64380d91377f180e43a37) Mention the EOL of IE 11 in 4.9.0 changelog (Maxime Rainville)
* 2021-09-03 [d499420ae](https://github.com/silverstripe/silverstripe-framework/commit/d499420ae26375dd8c2d78ed0307ab53d1e84071) Add additional info to 4.9.0 changelog (Maxime Rainville)
* bringyourownideas/silverstripe-maintenance (2.3.1 -&gt; 2.4.1)
* 2021-07-30 [149badb](https://github.com/bringyourownideas/silverstripe-maintenance/commit/149badbbd0963f85baf7c522601213823172cfb9) readme wording fix (Bryn Whyman)
* cwp/cwp-core (2.8.0 -&gt; 2.9.0)
* 2021-11-08 [db1f6e1](https://github.com/silverstripe/cwp-core/commit/db1f6e10a04b3f432ce4e7529d9787045dc2ecc3) update reference to module succeeding the cwp recipe (#100) (Bryn Whyman)
* cwp/cwp (2.8.0 -&gt; 2.9.0)
* 2021-06-10 [e3bf7ac](https://github.com/silverstripe/cwp/commit/e3bf7acc28819f43e56267fa81be8ddf4bf306fe) Add 2.8.0 changelog to index page (#305) (Maxime Rainville)
### Other changes
* silverstripe/framework (4.9.0 -&gt; 4.10.0)
* 2021-11-21 [e0197191b](https://github.com/silverstripe/silverstripe-framework/commit/e0197191b8879c7393805fdddca4c7e60591f5ad) Rename &amp;quot;Ignore CI Configs&amp;quot; to &amp;quot;Ignored CI Config&amp;quot; (Maxime Rainville)
* 2021-11-18 [7c3fddfc8](https://github.com/silverstripe/silverstripe-framework/commit/7c3fddfc8a52fbad4a28256d80b8ba9ff6b83007) Anwser Peer review feedback (Maxime Rainville)
* 2021-11-18 [d5b03eb5c](https://github.com/silverstripe/silverstripe-framework/commit/d5b03eb5cb432b4b5387a52c3c22225f0c20a1c9) Bump to composer/installer v2 (#10153) (Maxime Rainville)
* 2021-09-13 [3a9c4002b](https://github.com/silverstripe/silverstripe-framework/commit/3a9c4002b90c5d65d2303bc2c4fe7e59c91d07fc) Apply suggestions from code review (Maxime Rainville)
* 2021-09-09 [26da242e6](https://github.com/silverstripe/silverstripe-framework/commit/26da242e6b161dd609e0a85c04d501b462d89f57) Add a bit more detail (Maxime Rainville)
* 2021-02-21 [79d04fed0](https://github.com/silverstripe/silverstripe-framework/commit/79d04fed0d7a64940431fcbee2cb7e2f18e473c7) CompositeValidator::validate() to call validate() instead of php() (Chris Penny)
* silverstripe/admin (1.9.0 -&gt; 1.10.0)
* 2021-11-10 [a7e6d13](https://github.com/silverstripe/silverstripe-admin/commit/a7e6d13f2adfb23cf58613c363497d2b448c799d) BUGFIX: separate types urls for graphql 3 and 4 (#1265) (Aaron Carlino)
* 2021-11-05 [ffe14c0](https://github.com/silverstripe/silverstripe-admin/commit/ffe14c09dcb8906ac3eeda5f15c703ef081944b6) Use new public/_graphql/ subfolder location (#1222) (Ingo Schommer)
* 2021-10-21 [0fd580e](https://github.com/silverstripe/silverstripe-admin/commit/0fd580e1e8fbe8a21888f5019d9860c29ef3928e) Add legacy readone graphql resolver (#1260) (Mo Alsharaf)
* silverstripe/graphql (3.6.0 -&gt; 3.7.1)
* 2021-10-21 [7fa8afd](https://github.com/silverstripe/silverstripe-graphql/commit/7fa8afd9219624272aff1f13e709b61467822d12) Add query filter check &amp;amp; compatibility with graphsql 3 (#411) (Mo Alsharaf)
* silverstripe/documentconverter (2.1.1 -&gt; 2.2.0)
* 2021-01-21 [57a03e3](https://github.com/silverstripe/silverstripe-documentconverter/commit/57a03e37d04b498c5a6904438ccc6abc7ea7a7e2) Update build status badge (Steve Boyd)
* silverstripe/iframe (2.1.0 -&gt; 2.2.0)
* 2021-01-21 [3f8b3d1](https://github.com/silverstripe/silverstripe-iframe/commit/3f8b3d1eda0de2b1cab9a7816f41b18cd886a7f8) Update build status badge (Steve Boyd)
* symbiote/silverstripe-advancedworkflow (5.5.0 -&gt; 5.6.0)
* 2021-08-24 [1252d33](https://github.com/symbiote/silverstripe-advancedworkflow/commit/1252d338dce973b9182c586063ef276500d2f6b4) add extension hook to WorkflowInstance (Klemen Dolinšek)
* silverstripe/userforms (5.10.0 -&gt; 5.11.1)
* 2021-09-16 [9f7e55b](https://github.com/silverstripe/silverstripe-userforms/commit/9f7e55b3466c30e4a98bd8a6f2636493b24cd309) Use controller_name static config instead of method for better inheritance (Alexandre)
* silverstripe/externallinks (2.1.1 -&gt; 2.2.0)
* 2021-01-21 [478d661](https://github.com/silverstripe/silverstripe-externallinks/commit/478d6613f8ac0c1c903f07bd260cd95f090b09f5) Update build status badge (Steve Boyd)
* bringyourownideas/silverstripe-maintenance (2.3.1 -&gt; 2.4.1)
* 2021-05-26 [4df3e2f](https://github.com/bringyourownideas/silverstripe-maintenance/commit/4df3e2f02b48c6360213e14973e279ef71d5dfe5) Remove trailing space (Peter Thaleikis)
* 2021-05-26 [2019373](https://github.com/bringyourownideas/silverstripe-maintenance/commit/2019373bfbf2a0e6a191cb679ab9d9f53fdff3ad) Updating the readme to cover unsupported module (Peter Thaleikis)
* 2020-06-24 [84fbdd9](https://github.com/bringyourownideas/silverstripe-maintenance/commit/84fbdd9abcc4ddfa3a06e67d7584f8af659d9689) Update composer root version (Steve Boyd)
* 2019-12-19 [3245c1b](https://github.com/bringyourownideas/silverstripe-maintenance/commit/3245c1b2a8453cca082ea5ae736295687e0fa0bf) META: Add action to build docs on Netlify (Aaron Carlino)
* bringyourownideas/silverstripe-composer-update-checker (2.0.3 -&gt; 2.1.0)
* 2020-06-24 [3d202f2](https://github.com/bringyourownideas/silverstripe-composer-update-checker/commit/3d202f218c9d1bed9c91d784ee85c726b325448e) Update composer root version (Steve Boyd)
* dnadesign/silverstripe-elemental (4.7.0 -&gt; 4.8.0)
* 2021-10-07 [32306b0](https://github.com/silverstripe/silverstripe-elemental/commit/32306b03a59a66769a5f8f53b2a92c8dd326cec8) Improvement: Add Versioned @mixin and update some linting (Chris Penny)
* 2021-10-04 [5cef324](https://github.com/silverstripe/silverstripe-elemental/commit/5cef324a2d5373bce57ca72139033eac010d262a) Add simple unit tests for onBeforeWrite with no Parent (Chris Penny)
* 2021-10-04 [0f1d267](https://github.com/silverstripe/silverstripe-elemental/commit/0f1d26700c478cd286edce46e892b613f4f625ab) Bugfix 849: Set default Sort only when ParentID is available (Chris Penny)
* silverstripe/fulltextsearch (3.8.0 -&gt; 3.9.0)
* 2021-09-13 [bd3ef84](https://github.com/silverstripe/silverstripe-fulltextsearch/commit/bd3ef84cb389e5c80f19b13b4ac07f7b6432989a) Make SearchQuery_Range injectable. (GuySartorelli)
* 2021-01-21 [de10761](https://github.com/silverstripe/silverstripe-fulltextsearch/commit/de107616fb13062c39281ce57918e6a695d8ba01) Update build status badge (Steve Boyd)
* symbiote/silverstripe-queuedjobs (4.8.0 -&gt; 4.9.0)
* 2021-11-08 [135f7d7](https://github.com/symbiote/silverstripe-queuedjobs/commit/135f7d75d1ab032f693f5ad91dd46f178d5a18cc) PHP version constraint add ^8.0 (#360) (Luke Fromhold)
* 2021-10-18 [9c6f4c0](https://github.com/symbiote/silverstripe-queuedjobs/commit/9c6f4c09397e3b77a3bd7f313def20b4dd7ef93f) BUGFIX: &amp;#039;stalled&amp;#039; needs to be defined to print values (#293) (Matt Clegg)
* silverstripe/ldap (1.2.1 -&gt; 1.3.0)
* 2021-01-21 [2c165fa](https://github.com/silverstripe/silverstripe-ldap/commit/2c165fa0186014bdcb39105852d2be927fcc32fa) Update build status badge (Steve Boyd)
* silverstripe/realme (4.1.1 -&gt; 4.2.0)
* 2021-11-29 [3afc5cb](https://github.com/silverstripe/silverstripe-realme/commit/3afc5cbe4b0d6b01825ee6df6750b8d03b40b6f2) Update RealMeService.php (andreaspiening)
* 2021-11-26 [61e0e07](https://github.com/silverstripe/silverstripe-realme/commit/61e0e07a0b7559c33907754f4d63d9f70c3fc225) Update RealMeService.php (andreaspiening)
* 2021-04-26 [2867323](https://github.com/silverstripe/silverstripe-realme/commit/2867323d82d4c3910554a7116f7054b96585cc74) Update configuration.md (torleif)
* silverstripe/subsites (2.4.0 -&gt; 2.5.0)
* 2021-01-21 [e306264](https://github.com/silverstripe/silverstripe-subsites/commit/e30626474013aa4959733ea1ef51e61ed92bca1c) Update build status badge (Steve Boyd)
* silverstripe/recipe-ccl (2.9.0 -&gt; 2.10.0)
* 2021-10-03 [f515a4c](https://github.com/silverstripe/recipe-ccl/commit/f515a4c8b48cff3ee52b965086ceb6e56e2df8f0) Mention Revera in the Readme to clear up confusion (Andrew Paxley)
* cwp/cwp (2.8.0 -&gt; 2.9.0)
* 2021-05-27 [2e73d9e](https://github.com/silverstripe/cwp/commit/2e73d9e1fa089c92584489319f2b12143c373a48) Remove bringyourownideas/silverstripe-composer-security-checker (#302) (Maxime Rainville)
* dnadesign/silverstripe-elemental-userforms (3.0.0 -&gt; 3.1.0)
* 2021-11-04 [504ff56](https://github.com/dnadesign/silverstripe-elemental-userforms/commit/504ff5653e97f73ef080dcebfa7875c4c5abc1ea) Update main.yml (Steve Boyd)
* 2019-01-28 [e7d973c](https://github.com/dnadesign/silverstripe-elemental-userforms/commit/e7d973c4051d23889308c4ff8af527139664e661) Update README.md to include correct installation version (Guy Marriott)
* 2018-11-07 [61f5f9b](https://github.com/dnadesign/silverstripe-elemental-userforms/commit/61f5f9b095cdc559ee75cdcac0fc1da519c33789) Bump branch alias for master to 3.x-dev (Robbie Averill)
<!--- Changes above this line will be automatically regenerated -->