This release includes security fixes. Review the individual vulnerability disclosure for more detailed descriptions of each security fix. We highly encourage upgrading your project to include the latest security patches.
We have provided a high-level severity rating of the vulnerabilities below based on the CVSS score. Note that the impact of each vulnerability could vary based on the specifics of each project. You can [read the severity rating definitions in the Silverstripe CMS release process](/contributing/release_process/#severity-rating).
* [CVE-2022-28803 - Stored XSS in link tags added via XHR](https://www.silverstripe.org/download/security-releases/cve-2022-28803) Severity: Medium
* [CVE-2022-25238 - Stored XSS via HTML fields](https://www.silverstripe.org/download/security-releases/cve-2022-25238) Severity: Medium
* [CVE-2021-41559 - Quadratic blowup in Convert::xml2array()](https://www.silverstripe.org/download/security-releases/cve-2021-41559) Severity: Medium
* [CVE-2022-24444 - Hybridsessions does not expire session id on logout](https://www.silverstripe.org/download/security-releases/cve-2022-24444) Severity: Medium
* [CVE-2022-29858 - Unpublished, protected files can be published via shortcode](https://www.silverstripe.org/download/security-releases/cve-2022-29858) Severity: Medium
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.
The Silverstripe CMS recipe now officially supports PHP 8.1. This version of PHP introduced various deprecation warnings, most notably when passing null arguments to many native PHP functions. Silverstripe CMS now makes liberal use of the null coalescing operator when calling native PHP functions to convert null arguments to scalars. Other changes including adding the `__serialize` and `__unserialize` methods to classes implementing the [`Serializable`](https://www.php.net/manual/en/class.serializable) interface and adding the [`[#\ReturnTypeWillChange]`](https://www.php.net/manual/en/migration81.incompatible.php#migration81.incompatible.core.type-compatibility-internal) attribute to methods on classes implementing various PHP interfaces such as [`Iterator`](https://www.php.net/manual/en/class.iterator).
Silverstripe CMS Recipe 4.11.0 defaults to installing `silverstripe/graphql` version 4, which has just had a stable release. Previous releases installed version 3.
GraphQL is a query language for APIs. It was initially designed by Facebook but it is now used widely across the internet by all sorts of organisations including GitHub, AirBnB, Lyft, PayPal, Shopify, and Silverstripe CMS – to name just a few.
`silverstripe/graphql` is an implementation of GraphQL specific to Silverstripe CMS. It is used to power some aspects of the CMS UI. It can also be used by developers to create APIs that other web services can use to read or update data in your Silverstripe sites. This opens a lot of use cases like using Silverstripe CMS as a “headless” CMS.
Up until CMS Recipe 4.11.0, Silverstripe CMS would default to using `silverstripe/graphql` version 3. While `silverstripe/graphql` v3 was sufficient to support the basic CMS use cases it was being used for, it was not performant enough to build more complex applications.
`silverstripe/graphql` v4 is a complete rewrite and provides substantial performance improvements. It provides developers a first class tool for building APIs and allowing third party services to integrate with their Silverstripe CMS websites.
Part of the reason why `silverstripe/graphql` v4 is so much faster than v3 is that it has a “code generation” step. Silverstripe CMS will generate PHP classes for your GraphQL schemas which are then used to respond to queries or perform mutations. Previously the schema configuration had to be interpreted for every GraphQL request.
- There are two new folders that your web server user will need write access to: `.graphql-generated` and `public/_graphql`. These are mentioned in the [Server Requirements](/getting_started/server_requirements/) documentation.
- The GraphQL schema for the CMS will need to be generated. For the most common hosting scenarios you will be fine letting this happen during dev/build, but read the [building the schema](/developer_guides/graphql/getting_started/building_the_schema) documentation to know what your options are – especially if you have a multi-server hosting solution.
- You will need to deploy the generated schema to your test and production environments. There are several ways to do this depending on your hosting situation – see the [deploying the schema](/developer_guides/graphql/getting_started/deploying_the_schema) documentation for details.
If you were already using `silverstripe/graphql` v3 for your own custom schema and queries and want to upgrade to v4, you will also need to read the [Upgrading to GraphQL 4](/upgrading/upgrading_to_graphql_4) documentation, and are encouraged to read the [GraphQL documentation](/developer_guides/graphql/) in general to make sure your existing knowledge carries over to the new major release.
Silverstripe CMS has been shipping with dual support for `silverstripe/graphql` v3 and v4 since the 4.8 release. Until now `silverstripe/graphql` v4 had been in alpha and you had to explicitly opt-in to get it. At Silverstripe, we are already using `silverstripe/graphql` v4 in production on several projects.
All the supported Silverstripe CMS modules that use `silverstripe/graphql` have dual-support. If you wish to stay on `silverstripe/graphql` v3, you can do so and it will not block you from upgrading to Silverstripe CMS 4.11.
If your project uses `silverstripe/recipe-cms`, it will install `silverstripe/graphql:^4.0` when you upgrade to the 4.11.0 release if you don't have the graphql module listed as an explicit dependency. To stay on `silverstripe/graphql:^3`, you'll need to explicitly declare this dependency and tell composer to downgrade _it's_ dependencies.
You may also see `silverstripe/graphql` version 4 being installed even if your project does not directly require `silverstripe/recipe-cms` or `silverstripe/graphql` if you require other modules that depend on it.
To downgrade `silverstripe/graphql` to version 3, run this composer command:
Existing projects will not have an entry in their `.gitignore` file for `.graphql-generated` or `public/_graphql`. It is best practice for most situations to not track these folders in version control. You’ll have to manually add these entries to your `.gitignore` file.
The `.gitignore` file in `silverstripe/installer` 4.11.0 has been updated to ignore both of these folders. If you start a new project from `silverstripe/installer` 4.11.0 and want to track the new folders, you’ll have to remove those entries from your `.gitignore` file.
WebP is an image format which is optimised for displaying pictures on websites. It provides generally better results in most use cases to JPEG and PNG. It has wide – but not universal – support across web browsers. Internet Explorer is the main browser that does not support WebP at this stage. Read [Can I use WebP?](https://caniuse.com/webp) to see which browsers can render WebP images.
Until now, Silverstripe CMS would default to blocking content authors from uploading WebP images. Given that [Internet Explorer went out of support on June 15 2022](https://blogs.windows.com/windowsexperience/2021/05/19/the-future-of-internet-explorer-on-windows-10-is-in-microsoft-edge/), and that its market share is now under 1% according to most surveys, we decided the time had come to allow WebP uploads by default in the CMS.
Once your project is upgraded to Silverstripe Recipe CMS 4.11.0, your content authors will automatically be able to upload WebP images and add them to web pages. We recommend you have a conversation with your users about the pros and cons of WebP so they can make an informed decisions about when to use this image format.
If your website still caters to a significant number of visitors with browsers that do not support WebP, you can disable WebP image uploads by adding this snippet to your YAML config:
Read [Allowed file types](/Developer_Guides/Files/Allowed_file_types) in the Silverstripe CMS documentation for more information on how to enable or disable new image file formats.
The CMS preview panel has historically only been available for `DataObject` classes with the `Versioned` extension in the "Pages" admin section. This has now been expanded to allow any `DataObject` (regardless of whether it uses the `Versioned` extension) to be previewed in any section of the CMS.
This can be used to allow content authors to preview any content they are creating in the context it will be presented to users. Example use cases include previewing a `DataObject` which belongs to a page (e.g. the [dnadesign/silverstripe-elemental module](https://github.com/silverstripe/silverstripe-elemental) allows previewing elemental blocks even if they aren't inline-editable), and previewing a `DataObject` in a custom admin section, such as templates for emails or system-generated PDF documents.
The [CMS preview documentation](/developer_guides/customising_the_admin_interface/preview/) has been updated with code examples which show how to enable CMS preview for `DataObject` classes in a couple of different scenarios.
The meta generator tag, which can be seen in the meta tags when you view source on a regular page, now includes the framework version truncated to show just the major and minor version, e.g. `4.11`.
This version number will allow the product team who maintains Silverstripe CMS to make informed product decisions based on aggregate installation numbers.
### Allow-plugins configuration in Composer versions 2.2.0 and up {#composer}
Composer 2.2.0 introduced a new [allow-plugins](https://getcomposer.org/doc/06-config.md#allow-plugins) configuration for `composer.json`. Developers will be prompted to allow plugins when running `composer install` for the first time on existing Silverstripe projects, or for any new Silverstripe projects not using `silverstripe/installer`.
The plugins which should be allowed for all Silverstripe projects are:
-`composer/installers`
-`silverstripe/vendor-plugin`
-`silverstripe/recipe-plugin` (if your project uses a Silverstripe recipe)
New projects using `silverstripe/silverstripe-installer` from 4.11.0 onwards will have the above plugins added to the `allowed-plugins` configuration by default.
From July 2022 Composer will no longer prompt to allow plugins when running `composer install` (specifically, the Composer documentation states "the default will become `{}` and plugins will not load anymore unless allowed"). This won't affect new projects using `silverstripe/installer`, but will affect other new projects and existing projects where `allowed-plugins` hasn't yet been defined. In those cases developers will need to declare the allowed plugins manually in the project's `composer.json` file.
The `SilverStripe\Security\Member.notify_password_change` configuration has been set to `true` by default – it used to be `false`. This means when a user changes their password on a project in "live" mode, they will recieve an email alerting them that their password was changed. The email includes a link to change their password again, so that users can recover their account in the event that someone else changed their password without their knowledge.
This change was made to improve the default security of your projects, but if you do not want this behaviour you can disable it by setting the configuration back to false:
Note that this configuration is already enabled by default in the `cwp/cwp-core` module. Projects which have that as a dependency won't experience any change in behaviour.
The email content can also be changed in a couple of ways:
- Override the `SilverStripe\Control\Email\ChangePasswordEmail` template.
- [Create an `Extension`](/developer_guides/extending/extensions/) for [`Member`](api:SilverStripe\Security\Member) that implements the `updateChangedPasswordEmail(Email $email)` method.
- A new [`AbstractGridFieldComponent`](api:SilverStripe\Forms\GridField\AbstractGridFieldComponent) class has been added to make it easier to globally add fundamental functionality to `GridField` components. All classes packaged with the Silverstripe framework which implement the `GridFieldComponent` interface are subclasses of the new abstract class, making them all `Injectable`.
Maintainers of third-party packages which include classes that implement `GridFieldComponent` are encouraged to subclass the new `AbstractGridFieldComponent` abstract class.
- New options have been added to the [dnadesign/silverstripe-elemental](https://github.com/silverstripe/silverstripe-elemental) module to control what content is indexed for searching elemental blocks. see [the documentation](https://github.com/silverstripe/silverstripe-elemental/blob/4/docs/en/searching-blocks.md#configuration) for details.
- Multiple backticked environment variables can be included in a single injected property via YAML configuration. See [Using environment variables in config](/getting_started/environment_management#using-environment-variables-in-config) for details.
- Individual fields in the `$searchable_fields` configuration can be used to search across multiple database fields. See [Searchable Fields](/developer_guides/model/scaffolding/#searchable-fields) for details.
- A new `RelationValidationService` has been added. If enabled, when you run `dev/build` it will check that the relations on your DataObjects are set correctly according to the principles in the [Relations between Records](/developer_guides/model/relations/) documentation. See [many_many](/developer_guides/model/relations/#many-many) to see how to enable it.
- In `ReportAdmin`, the count of items per report is now capped at 10,000 to avoid timing out when loading the list of reports. This number is configurable – see [Counts in `ReportAdmin`](/developer_guides/customising_the_admin_interface/how_tos/customise_site_reports/#counts-in-reportadmin) for details.
- Using the `silverstripe/session-manager` module, administrators are now able to globally revoke active sessions for all users. This is done using the `InvalidateAllSessions` build task. See [the module's readme](https://github.com/silverstripe/silverstripe-session-manager#developer-details) for details.
## Dependency and internal API changes {#dependency-internal-api-changes}
### guzzlehttp/guzzle
The `guzzlehttp/guzzle` dependency was upgraded from v6 to v7, with `7.3.0` being the minimum version. If you have `guzzlehttp/guzzle` as a dependency in your project. This was done to ensure that v2 of `guzzlehttp/psr7` is installed, which is used by `embed/embed` v4
### embed/embed
The `embed/embed` dependency has been upgraded from v3 to v4. This was done to receive a [security fix](https://github.com/oscarotero/Embed/commit/673cc5b4cef76d8108bccd0886d520e503f5557d#diff-15c054072445d32506cc89fd451b11b6e251ce728373325b8f8308defff9f7bdR140) that was only available on the the v4 line, as the v3 line is no longer receiving security updates.
The internal implementation of the internal [`Embeddable`](api:SilverStripe\View\Embed\Embeddable) interface has been changed from [`EmbedResource`](api:SilverStripe\View\Embed\EmbedResource) to [`EmbedContainer`](api:SilverStripe\View\Embed\EmbedContainer).
`embed/embed` has been configured to use a guzzle client instead of the default curl client so that a proxy configuration value can be set if required.
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!
* 2022-04-27 [6570020](https://github.com/silverstripe/silverstripe-assets/commit/6570020cd3cc6cdb6c05bfaf1aa9a651e5f5529c) Read grant config for regenerate_shortcode (Steve Boyd) - See [cve-2022-29858](https://www.silverstripe.org/download/security-releases/cve-2022-29858)
* silverstripe/framework (4.10.0 -> 4.11.0)
* 2022-04-19 [204b1a4f5](https://github.com/silverstripe/silverstripe-framework/commit/204b1a4f5bc0bbb5ef941a63bc7470b35ba6602c) Block XSS in links and iframes. (Guy Sartorelli) - See [cve-2022-28803](https://www.silverstripe.org/download/security-releases/cve-2022-28803)
* 2022-02-15 [72671f9ba](https://github.com/silverstripe/silverstripe-framework/commit/72671f9ba5482f4aed3273be1fc70991d2a0617b) Sanitise htmlfields serverside by default (Steve Boyd) - See [cve-2022-25238](https://www.silverstripe.org/download/security-releases/cve-2022-25238)
* 2022-02-14 [57788be1c](https://github.com/silverstripe/silverstripe-framework/commit/57788be1c2ab3a1ac42e3ec84522ebbd3d8b04b4) Disable xml entities (Steve Boyd)
* silverstripe/hybridsessions (2.4.0 -> 2.5.1)
* 2022-03-10 [1709ed9](https://github.com/silverstripe/silverstripe-hybridsessions/commit/1709ed9a2312881a1f6a9528c9f73800a5eb582d) Update expiry on session destroy (Steve Boyd)
* 2022-02-07 [9ba3ad4](https://github.com/silverstripe/silverstripe-assets/commit/9ba3ad435cfbedc2cdb32483be990328df9f1798) WebP support in CMS (Maxime Rainville)
* 2022-05-12 [6a779d07d](https://github.com/silverstripe/silverstripe-framework/commit/6a779d07d0d7d2cd036b6c3b54d3d30d322cb145) Allow multiple backtick variables in a single value (Steve Boyd)
* 2022-05-11 [63f3637dc](https://github.com/silverstripe/silverstripe-framework/commit/63f3637dc2dc3339e9ba258e8c26a70d01170fed) Ensure users are sent emails when passwords are changed by default. (Guy Sartorelli)
* 2022-05-11 [c72efa0d3](https://github.com/silverstripe/silverstripe-framework/commit/c72efa0d3f8544e2c2da1bd83aba2671936eb5ce) Use guzzle for oembed (Steve Boyd)
* 2022-04-21 [337c6e583](https://github.com/silverstripe/silverstripe-framework/commit/337c6e583cced016582e6367b9db8b44e9dd0b5e) Various fixes for PHP 8.1 compatibility (Steve Boyd)
* 2022-03-08 [f488f38f7](https://github.com/silverstripe/silverstripe-framework/commit/f488f38f7dd0d76e36684ff45b9768e18748a6c1) Get the version for an individual module (Steve Boyd)
* 2022-03-07 [badc17891](https://github.com/silverstripe/silverstripe-framework/commit/badc17891c0c61a5e096f432780f451b52f1e39e) Create fallback email from address (Steve Boyd)
* 2022-02-09 [6b1c5eb6d](https://github.com/silverstripe/silverstripe-framework/commit/6b1c5eb6d774ac47830f4cb50f74abed89f28f92) Allow methods to be used for flexible searchable_fields (#10199) (Tyler Trout)
* 2022-02-04 [89c87ddbf](https://github.com/silverstripe/silverstripe-framework/commit/89c87ddbf8e67c8195dd386b4eae11446489008a) Static validation for relationships. (#9874) (Mojmir Fendek)
* 2022-02-01 [5c54276b6](https://github.com/silverstripe/silverstripe-framework/commit/5c54276b6fb384baf789058924e14a52b564414e) Make all GridField components injectable (using abstract class) (#10204) (GuySartorelli)
* 2022-01-31 [fc2160fa3](https://github.com/silverstripe/silverstripe-framework/commit/fc2160fa3a7162bb3e296e5d88378cdf6b463fe1) Provide hook for updating the parent used for absoluteURL (#10168) (GuySartorelli)
* 2022-01-17 [3db1435df](https://github.com/silverstripe/silverstripe-framework/commit/3db1435df7e452ea4c1de07edf5eb821ca2886f3) Allow DateTime to be immutable (#10125) (Mojmir Fendek)
* 2022-01-16 [d1cac485b](https://github.com/silverstripe/silverstripe-framework/commit/d1cac485b73a88baa9ad3dead21d995911fe0e1d) Speed up DataObject::get_by_id by checking if there is an ID at all (Nicolaas / Sunn Side Up)
* 2022-01-10 [048eb4b61](https://github.com/silverstripe/silverstripe-framework/commit/048eb4b6142c69787268a1782f7b8d12e3d7b42f) Improve gridfield export pefromance by using DataList generator (Mojmir Fendek)
* 2021-12-11 [97ab957de](https://github.com/silverstripe/silverstripe-framework/commit/97ab957de826bb9bfefa56f079189862ea12a7e3) Use ::create to get DropdownField instance in DBEnum (#10175) (Thomas Portelange)
* 2021-06-28 [365998f44](https://github.com/silverstripe/silverstripe-framework/commit/365998f4453508cbb14d2e217a2003ae4a92ba7b) Add extension point for modifying readonly GridFields. (Guy Sartorelli)
* 2021-06-28 [009a32fbe](https://github.com/silverstripe/silverstripe-framework/commit/009a32fbec243148d276e020ae1f7c9395b8040c) Allow GridField readonly components to be globally modified. (Guy Sartorelli)
* 2022-02-14 [96270d1b](https://github.com/silverstripe/silverstripe-admin/commit/96270d1b7eb22fd1140077fdf49b0b1a57df78a9) Allow setting options for extra css/js in LeftAndMain. (Guy Sartorelli)
* 2022-02-07 [2f9a2446](https://github.com/silverstripe/silverstripe-admin/commit/2f9a2446a31cdd447134e2d2adf8ffe57bab595f) Prefer dependency injection for GridFieldComponents. (Guy Sartorelli)
* 2022-01-30 [318b49b5](https://github.com/silverstripe/silverstripe-admin/commit/318b49b5143cd15bf5734e8253d6e9b5f43eb20b) Allow CMS preview for items in GridFieldDetailForms. (#1250) (GuySartorelli)
* 2022-01-27 [adebf2ce](https://github.com/silverstripe/silverstripe-admin/commit/adebf2ce8280f347bf36697b06230817b9a4606c) Allow use of the preview panel in any LeftAndMain subclass. (#1252) (GuySartorelli)
* 2022-03-20 [3546bd79](https://github.com/silverstripe/silverstripe-asset-admin/commit/3546bd796ce4fd4b10e1a4708b6d9b6911b0fc87) Use embed/embed v4 (Steve Boyd)
* 2022-02-19 [1f5fad4e](https://github.com/silverstripe/silverstripe-asset-admin/commit/1f5fad4ebd110afa21d56844a6b96975b6334d46) Allow developers to decide if resampling is needed (Leo Chen)
* 2022-04-11 [ee69d759](https://github.com/silverstripe/silverstripe-cms/commit/ee69d75904b41850ff2786996a9ab9a411a30021) add ability to redirect to a file on the website (Will Rossiter)
* 2022-04-08 [6bea5778](https://github.com/silverstripe/silverstripe-cms/commit/6bea5778d723fadf5fc1d74d2685c3a8601d4084) Various fixes for PHP 8.1 compatibility (Steve Boyd)
* 2022-03-09 [3b623361](https://github.com/silverstripe/silverstripe-cms/commit/3b62336180eddec6ad028f86edfcd3de1d89aa36) Include version number in meta generator tag (#2721) (Steve Boyd)
* 2022-02-12 [b4e3a08b](https://github.com/silverstripe/silverstripe-cms/commit/b4e3a08b8a0ced37fa91cab3bf04e18fc8164d6f) Prefer dependency injection for GridFieldComponents (Guy Sartorelli)
* 2022-01-31 [803f19b3](https://github.com/silverstripe/silverstripe-cms/commit/803f19b3a4763f94924ab02a4a29de1640233e36) Add preview state for non-versioned DataObjects. (#2692) (GuySartorelli)
* 2022-01-31 [375c3190](https://github.com/silverstripe/silverstripe-reports/commit/375c31904f71b93e8d1d1e3d760ad02539621d44) Add configuration to cap report counts for large datasets. (#139) (GuySartorelli)
* 2022-02-16 [10d0871](https://github.com/silverstripe/silverstripe-versioned/commit/10d087130626d51e589b11ec6bede24403efd76c) Avoid running queries to retrieve versions on unsaved object (#352) (Maxime Rainville)
* silverstripe/graphql (3.7.1 -> 4.0.0)
* 2022-05-31 [45a4d79](https://github.com/silverstripe/silverstripe-graphql/commit/45a4d79120292908fc567dfecf5f0a6d2000fd42) Add a .htaccess file to the graphql schema directories. (Guy Sartorelli)
* 2021-12-23 [af370a7](https://github.com/silverstripe/silverstripe-graphql/commit/af370a707f95c14b25adc6d02c0701a61236a6fb) New dir name (#427) (Aaron Carlino)
* 2021-12-23 [b3676f9](https://github.com/silverstripe/silverstripe-graphql/commit/b3676f94aafa1725a269a81c8278577894621aac) Obfuscate filenames to prevent IDE search issues (#426) (Aaron Carlino)
* 2021-12-22 [925df4f](https://github.com/silverstripe/silverstripe-graphql/commit/925df4fcffaa0bbab49e03240a1bd0fc24ece76e) src must be array (#425) (Aaron Carlino)
* 2021-12-21 [5ec8c1b](https://github.com/silverstripe/silverstripe-graphql/commit/5ec8c1b30998355d12b0a30bd001727439a7e530) Allow typeAsModel to be wrapped (#424) (Aaron Carlino)
* 2021-12-21 [71bae21](https://github.com/silverstripe/silverstripe-graphql/commit/71bae2143e399dfa4d8f486ff9c582a9bbd9c3bd) Schema logger, set verbosity (#422) (Aaron Carlino)
* 2021-11-11 [ba2a238](https://github.com/silverstripe/silverstripe-graphql/commit/ba2a2383765f609dda5239bddf88dfb97be3249e) Support --no-database build option (#414) (Aaron Carlino)
* 2021-08-06 [8a3e5be](https://github.com/silverstripe/silverstripe-graphql/commit/8a3e5bead662fee267071ed0d1a18227ed910771) Force low-level errors to throw in dev to prevent errors leaking into JSON response (#397) (Aaron Carlino)
* 2021-07-12 [e7bf394](https://github.com/silverstripe/silverstripe-graphql/commit/e7bf3942157dc973171d4f2a88d0d9c463c1605d) New non-nullable types (Aaron Carlino)
* 2021-05-13 [2a121e2](https://github.com/silverstripe/silverstripe-graphql/commit/2a121e2b023983314e43ce03730aade37799fdda) Add TestSessionEnvironmentExtension to support behat tests (Steve Boyd)
* 2021-02-17 [7af1294](https://github.com/silverstripe/silverstripe-graphql/commit/7af1294a5c6252d3c78ff93c02314b2b414093e5) New empty schema handling (Aaron Carlino)
* 2021-02-15 [85a59e6](https://github.com/silverstripe/silverstripe-graphql/commit/85a59e6f8aa281d675c277090059dca7a57c3858) New NaiveSchemaBuilder for testing peripheral modules (Aaron Carlino)
* 2021-02-03 [2b451a1](https://github.com/silverstripe/silverstripe-graphql/commit/2b451a1183cda8f4c6d47231e1ac9036cc760efe) New test for fieldaccessor (Aaron Carlino)
* 2021-01-21 [1629206](https://github.com/silverstripe/silverstripe-graphql/commit/1629206cc2ac14b872672b3fc2a53e81cb62a1de) New schema factory API (Aaron Carlino)
* 2020-11-30 [53d37cd](https://github.com/silverstripe/silverstripe-graphql/commit/53d37cd80473ea024c8857e8e434042816cf9eed) New 5.x-dev alias (Aaron Carlino)
* 2020-11-10 [85e58df](https://github.com/silverstripe/silverstripe-graphql/commit/85e58df8845c5fa3651e0a01fb162bf883b71f8b) New exists for schema (Aaron Carlino)
* 2020-10-14 [6971e92](https://github.com/silverstripe/silverstripe-graphql/commit/6971e921f72c953ede78d074cefadbdf48a884e5) New requireActiveBuild(), various improvements to get tests passing (Aaron Carlino)
* 2020-10-13 [88b38c3](https://github.com/silverstripe/silverstripe-graphql/commit/88b38c3bdc32368939285649f04c6f83d0a0ccc3) New generic sort plugin (Aaron Carlino)
* 2022-04-27 [e3b2936](https://github.com/silverstripe/silverstripe-session-manager/commit/e3b2936685415db867ef809dbb62176c75e533e3) Add ability for admin to revoke all sessions (Guy Sartorelli)
* 2022-04-04 [0a04e35](https://github.com/silverstripe/silverstripe-tagfield/commit/0a04e35825764376ad29fb48613ae998b051b604) Make the write call of StringTagField::saveInto method configurable (#208) (Daniel Kliemsch)
* silverstripe/blog (3.9.0 -> 3.10.0)
* 2022-04-14 [6d8822c](https://github.com/silverstripe/silverstripe-blog/commit/6d8822ca1252179a96534fe8a751cfedeec8b934) Various fixes for PHP 8.1 compatibility (Steve Boyd)
* 2022-03-03 [b55c7aa](https://github.com/silverstripe/silverstripe-blog/commit/b55c7aa80dbba693cb1932e1a422187787b28d83) Add config to control if a default author is added to posts on creation (Jellygnite)
* 2022-03-03 [0349b40](https://github.com/symbiote/silverstripe-advancedworkflow/commit/0349b400f98f614a8687f76df58d3d698316e750) Extend new AbstractGridFieldComponent class (#458) (Guy Sartorelli)
* 2022-03-07 [33e9a25](https://github.com/silverstripe/silverstripe-userforms/commit/33e9a25688580d024b6c9b00a6ae06d110f0ed50) Add config to hide invisible fields from email output (Florian Thoma)
* 2021-09-02 [663bfa6](https://github.com/silverstripe/silverstripe-userforms/commit/663bfa69524605b4f73367d89af5250398d1d05b) move OnCompleteMessage from $defaults to populateDefaults() for translations (Lukas Erni)
* 2022-04-19 [41fb24e](https://github.com/silverstripe/silverstripe-elemental/commit/41fb24e2786153ec536b5860d90603c4bae672f5) Various fixes for PHP 8.1 compatibility (Steve Boyd)
* 2022-03-23 [f8103d1](https://github.com/silverstripe/silverstripe-elemental/commit/f8103d1a91af838123913b4be38f154786d01e3b) Render some buttons for blocks that can not be edited inline (#963) (Maxime Rainville)
* 2022-02-04 [87c3e36](https://github.com/silverstripe/silverstripe-elemental/commit/87c3e362aaed845a770466cb8772ea5577816417) Provide more control over elemental block indexing. (#913) (GuySartorelli)
* 2022-01-17 [a16873d](https://github.com/silverstripe/silverstripe-elemental/commit/a16873dd2233d0f04c35f164a790a444eb539286) Better type default. (#830) (Mojmir Fendek)
* 2022-04-13 [03ded57](https://github.com/symbiote/silverstripe-queuedjobs/commit/03ded57dbdefebb8e7ae1e948ddb65278ba651c1) Various fixes for PHP 8.1 compatibility (#370) (Steve Boyd)
* 2022-03-03 [416d69e](https://github.com/symbiote/silverstripe-queuedjobs/commit/416d69ecf05513a73db3a14d36a864a9b40902fa) Extend new AbstractGridFieldComponent class (#367) (Guy Sartorelli)
* 2022-02-17 [c22473b](https://github.com/silverstripe/silverstripe-assets/commit/c22473b062574a67c91b96512e6762f54ad744c4) Don't auto grant session access when resampling images (#477) (Maxime Rainville)
* 2022-03-22 [740d087e9](https://github.com/silverstripe/silverstripe-framework/commit/740d087e972078f1a1e77e643bd6ab299243f453) Default GridField search fields with an index of 0 to use StartWithFilter (Steve Boyd)
* 2021-12-16 [cb37e5fb8](https://github.com/silverstripe/silverstripe-framework/commit/cb37e5fb8726a0fa5ef37f5cb2f654475e9e4fb6) Ensure extra classes are copied over to readonly/disabled fields (Loz Calver)
* 2021-12-10 [0b0c13764](https://github.com/silverstripe/silverstripe-framework/commit/0b0c13764b8dc3b56ef89b53da7d8db73779d435) allow custom SELECT to be used for sorting in DataQuery::column(). (GuySartorelli)
* 2021-11-15 [9e2d66168](https://github.com/silverstripe/silverstripe-framework/commit/9e2d66168926f13a4f11a230fed4a081342a43a5) Make MySQLSchemaManager::shouldUseIntegerWidth() private (Sergey Shevchenko)
* 2021-07-12 [5699db306](https://github.com/silverstripe/silverstripe-framework/commit/5699db306dd4462b66940b9e2e11b57d8c636ffc) Remove limits in removeAll method. (GuySartorelli)
* 2021-06-22 [21c27154d](https://github.com/silverstripe/silverstripe-framework/commit/21c27154dd1e80edfee48174fc396f46b3e6ec60) subTemplates should be an array (Will Rossiter)
* 2020-10-29 [2c9ba8bc4](https://github.com/silverstripe/silverstripe-framework/commit/2c9ba8bc4579ac990fb8808a13497c57fc91dc8e) fix: conform with linter (Sergey Shevchenko)
* 2020-10-29 [62725a5db](https://github.com/silverstripe/silverstripe-framework/commit/62725a5db3f292f4c1a21c4996df7c68bbb9be8f) fix: added exception for MariaDB (Sergey Shevchenko)
* 2020-10-28 [51402a9c4](https://github.com/silverstripe/silverstripe-framework/commit/51402a9c42b74c71b66324b40690f49bf8536658) fix: don't use int width for mysql > 8.0.17 #9453 (Sergey Shevchenko)
* 2022-01-31 [397ceeec](https://github.com/silverstripe/silverstripe-admin/commit/397ceeec9ff397dbee2359445f4750afa9c714c9) Right-align preview on the first record (#1285) (Steve Boyd)
* 2022-04-01 [6bab0d58](https://github.com/silverstripe/silverstripe-asset-admin/commit/6bab0d585cc2a59834ecc080cfe4220904a78df9) Update UploadField redux state when form schema data changes (fixes #960) (Loz Calver)
* 2022-03-15 [ff6322ec](https://github.com/silverstripe/silverstripe-asset-admin/commit/ff6322eced514a7b184f3851303fb30bd6a354fa) Update asset-admin to use the correct allowed extension list for dropzone (#1256) (Maxime Rainville)
* 2022-01-17 [1a60cb62](https://github.com/silverstripe/silverstripe-asset-admin/commit/1a60cb6245f728e0ea9b82407840aaf4bcf8da35) file history not displaying (#1233) (JamesZhu)
* 2022-01-16 [9c020b4e](https://github.com/silverstripe/silverstripe-asset-admin/commit/9c020b4eb1d9873ed06dcd23e32c79c23672baa1) Use regular string instead of heredoc so textcollector runs (#1249) (Steve Boyd)
* 2022-04-19 [4e757759](https://github.com/silverstripe/silverstripe-cms/commit/4e757759ec85a9f3e46ce333c64c43f8ff3189a1) Translate pagetype names in list view (Guy Sartorelli)
* 2022-01-25 [b5399245](https://github.com/silverstripe/silverstripe-cms/commit/b5399245507e987f99479e9c557caa6a8dd71e43) SiteTree visibility field name (Florian Thoma)
* 2022-02-01 [2954224](https://github.com/silverstripe/silverstripe-errorpage/commit/2954224a1de17d0cc295a1afd4503500531dd0f8) Fixed issue where a crash could occur when an error page is generated by the CMS (#59) (Ed Chipman)
* silverstripe/versioned (1.10.0 -> 1.11.0)
* 2022-03-15 [28e4080](https://github.com/silverstripe/silverstripe-versioned/commit/28e40806679f7edd1f512f79b4a108170b58a832) Return correct changed fields when fromRecord is null. (Guy Sartorelli)
* silverstripe/graphql (3.7.1 -> 4.0.0)
* 2022-06-23 [8e66e64](https://github.com/silverstripe/silverstripe-graphql/commit/8e66e64953a6675bc7726a2421292cecafb93c1c) Relax possible filter value types (#477) (Roman Schmid)
* 2022-04-21 [aa59f53](https://github.com/silverstripe/silverstripe-graphql/commit/aa59f535507ce20d59dd6edb051c2bcc4830f049) Change Logger default verbosity to info (Maxime Rainville)
* 2022-04-19 [969307e](https://github.com/silverstripe/silverstripe-graphql/commit/969307e825ce388c0e4ed01d4e2030093c8cf2c1) Only use Logger when build tasks are invoake via a dev admin controller (Maxime Rainville)
* 2022-04-12 [2b33bc3](https://github.com/silverstripe/silverstripe-graphql/commit/2b33bc3636cc3e759d3d47342eea8dc27e71781e) Don't override Build link in /dev (Guy Sartorelli)
* 2021-08-23 [0cd3b84](https://github.com/silverstripe/silverstripe-graphql/commit/0cd3b84eee68f538b00e61f9c6c8f6a94a6fd2b5) Fix type error in Controller::validateOrigin (Roman Schmid)
* 2021-06-18 [a549a56](https://github.com/silverstripe/silverstripe-graphql/commit/a549a56669251ffcb2bafe3914a489cfcef4781c) Fix Enum overwriting local variable and breaking enumerated arrays (Aaron Carlino)
* 2021-03-04 [a53aea5](https://github.com/silverstripe/silverstripe-graphql/commit/a53aea57bf29a6a420b18266b421455757a3d266) NestedInputBuilder correctly builds filters for models with multiple relations of the same type (#363) (Matthias Leutenegger)
* 2021-03-03 [eace0fa](https://github.com/silverstripe/silverstripe-graphql/commit/eace0fa0d222ee9c0aac0261f54e3c66e7b75f7a) input building in cyclic graphs (#371) (Matthias Leutenegger)
* 2021-02-14 [147a9c4](https://github.com/silverstripe/silverstripe-graphql/commit/147a9c4b3e87e6526fe1832566a17847db57961c) Fix test (Aaron Carlino)
* 2021-02-02 [5289207](https://github.com/silverstripe/silverstripe-graphql/commit/5289207e5fd99426abe764df643eef8bdb1b2823) Handle case where params is empty (#358) (Steve Boyd)
* 2021-01-27 [0c7b4d1](https://github.com/silverstripe/silverstripe-graphql/commit/0c7b4d1869d82ae487b44fb51af6d57760ed7228) Use require instead of require_once for type mapping function (Steve Boyd)
* 2020-10-21 [29bc58a](https://github.com/silverstripe/silverstripe-graphql/commit/29bc58a2b63a6890e19caad000f15c148c3c8a16) Fix enabled logic in dev/build (Aaron Carlino)
* 2020-10-21 [e45e51d](https://github.com/silverstripe/silverstripe-graphql/commit/e45e51deed6c05e8d50ddf307c5d53044d9ee370) Fix typing on QueryFilter (Aaron Carlino)
* 2020-06-26 [d21091a](https://github.com/silverstripe/silverstripe-graphql/commit/d21091a9f2d53d3322995c36fd61f95fda9c0a75) Fix bad merge up on phpunit constraints (Robbie Averill)
* 2018-10-15 [efd9ddb](https://github.com/silverstripe/silverstripe-graphql/commit/efd9ddbde69744de9bf23d92bb9b8a7aeb710ab6) autoload and autoload-dev, add phpcs and fix Travis phpcs linting (Robbie Averill)
* 2021-08-12 [643feda](https://github.com/silverstripe/silverstripe-spamprotection/commit/643fedaf21560536616ff7385134487463a7e23d) Allow fields without parents to be programatically created (Steve Boyd)
* 2022-03-16 [a97fb57](https://github.com/silverstripe/silverstripe-userforms/commit/a97fb570c3bb6d2555809ae5ae282eb020880f12) strings instead of __CLASS__ for translation keys in trait (#1101) (Lukas)
* 2022-03-03 [60cd3d0](https://github.com/silverstripe/silverstripe-userforms/commit/60cd3d0937f973d5b1a56937432313222955b33d) Ensure all fields are available for updateCMSFields(). (#1089) (Guy Sartorelli)
* 2022-04-10 [1fc25c5](https://github.com/silverstripe/silverstripe-elemental/commit/1fc25c55ed73045d7886d407b2637bae6c0b25f2) Fix PSR issue (Sabina Talipova)
* 2022-04-10 [af17f8a](https://github.com/silverstripe/silverstripe-elemental/commit/af17f8aed36d94944931981afeeee6d5d4853c86) Fix behat test for AddBlockHoverBar (Sabina Talipova)
* 2022-04-08 [0277d07](https://github.com/silverstripe/silverstripe-elemental/commit/0277d07c029515f0cd1047ecdaa75e77d104321b) Fix travis test (Sabina Talipova)
* 2022-04-08 [8f50f01](https://github.com/silverstripe/silverstripe-elemental/commit/8f50f014e0cb5c062e9190a0df0a0920e9a7802a) Fix behat test case (Sabina Talipova)
* 2022-04-05 [58ba60d](https://github.com/silverstripe/silverstripe-elemental/commit/58ba60d98867800587ac545cd64a29117732fd08) Hoverbar ID made uniq (Sabina Talipova)
* 2022-02-04 [c5eecbf](https://github.com/silverstripe/silverstripe-elemental/commit/c5eecbff86fb4e91152d1f962d5d765ce54c09f3) Match search terms at the start of a string (#957) (Steve Boyd)
* 2022-01-30 [5298524](https://github.com/silverstripe/silverstripe-elemental/commit/52985246eb1c1ea563df5658b1474705bace130d) Get CMS preview working for non inline-editable elements. (#936) (GuySartorelli)
* 2022-01-18 [d5f21ec](https://github.com/silverstripe/silverstripe-elemental/commit/d5f21ecfc1294979f650e16b607d3b4571efe9b2) `getElementsForSearch()` to replace tags with spaces (#897) (Andrew Paxley)
* 2021-10-29 [fb14f30](https://github.com/silverstripe/silverstripe-elemental/commit/fb14f30d5e6e25a7f8cd1b29b290fd38be6911d4) Version number hidden on HistoryViewerField (Kirk Mayo)
* 2022-03-23 [b544d93](https://github.com/silverstripe/silverstripe-fulltextsearch/commit/b544d93121f7b94b4642017b612ae15fe84b3d6c) Ensure DB is active before processing (Steve Boyd)
* 2022-03-04 [30ed311](https://github.com/silverstripe/silverstripe-fulltextsearch/commit/30ed311386043afe37b0b1fa320e1b18ba084662) Don't double-escape state field (#317) (Tim Oliver)
* 2022-01-26 [b1675d4](https://github.com/silverstripe/silverstripe-fulltextsearch/commit/b1675d4df12fc342548282cde870a8a36d3418c5) Separate out all command components so Solr_Reindex works in dev mode. (GuySartorelli)
* 2022-03-23 [a625846](https://github.com/symbiote/silverstripe-queuedjobs/commit/a625846a788478b77ba271d73e8a771ca5f19f68) Ensure DB is active before processing (Steve Boyd)
* silverstripe/mfa (4.5.1 -> 4.6.1)
* 2022-01-16 [fe32efe](https://github.com/silverstripe/silverstripe-mfa/commit/fe32efe03492d9297e8f9cff60d3eb047555ca11) Export registered methods in enabled members report (Steve Boyd)
* 2022-02-07 [b66434b](https://github.com/silverstripe/silverstripe-html5/commit/b66434b2d1b870fccba3f5cbfa12e0f5db4cafc5) fix: allow html elements within noscript tag (Florian Thoma)
* 2021-08-23 [158fd2c](https://github.com/symbiote/silverstripe-multivaluefield/commit/158fd2cdec412ac9b6cf10d87f5f3889e837e2c4) Correctly increment ID (Michal Kleiner)
### API Changes
* silverstripe/assets (1.10.0 -> 1.11.0)
* 2022-01-26 [640f8da](https://github.com/silverstripe/silverstripe-assets/commit/640f8da570b0a48845034f1f1b1b5824f2dc234a) Create extension hook for updating session grant on files (Steve Boyd)
* silverstripe/config (1.3.0 -> 1.4.0)
* 2022-02-20 [63dc104](https://github.com/silverstripe/silverstripe-config/commit/63dc1048d839176a01d425a12bb4d5ff1bd32aca) Implement updated Serializable API (Steve Boyd)
* silverstripe/framework (4.10.0 -> 4.11.0)
* 2022-03-08 [b73a3cdd7](https://github.com/silverstripe/silverstripe-framework/commit/b73a3cdd7ab092a3dd02b78d51e48f97867c4f8e) Extension hook for email default from (Steve Boyd)
* 2022-02-14 [031837264](https://github.com/silverstripe/silverstripe-framework/commit/0318372641ce791fab7c4942d17d0f027bdb554c) Implement updated Serializable API (Steve Boyd)
* silverstripe/graphql (3.7.1 -> 4.0.0)
* 2022-04-26 [a99055b](https://github.com/silverstripe/silverstripe-graphql/commit/a99055b5a5db1ba9c90273afb6d43ef3e17dd70a) Strongly type everything (Maxime Rainville)
* 2021-11-04 [7602dbd](https://github.com/silverstripe/silverstripe-graphql/commit/7602dbdff1d5f78d30783afd7ed1c4b8d7da64c8) New $class arg for DataObjectModel->getModelTypeForField() (#395) (Ingo Schommer)
* 2021-11-02 [e060705](https://github.com/silverstripe/silverstripe-graphql/commit/e0607059e5cca98190ea74ce2f49ccfe07cbca1a) phpunit 9 support (Steve Boyd)
* 2018-10-04 [d00c455](https://github.com/silverstripe/silverstripe-graphql/commit/d00c455f82e3d46ce9c25b1bbdb8df39bd43df68) Increase visibility of private properties, used by ReadVersions in silverstripe/versioned (#180) (Robbie Averill)
* silverstripe/userforms (5.11.1 -> 5.13.0)
* 2022-01-13 [c762835](https://github.com/silverstripe/silverstripe-userforms/commit/c762835d4f6e527166a4c25fa143dbc552b36a51) Additional data passed to updateAfterProcess hook (#1130) (Marco Hermo)
* 2022-02-11 [e652412](https://github.com/silverstripe/silverstripe-sitewidecontent-report/commit/e652412f7de48bce1b31ce1add87dc43e7b5d42e) Use updated report API, set PHP 7.4 as minimum version (Steve Boyd)
* 2022-02-20 [d75e848](https://github.com/silverstripe/silverstripe-installer/commit/d75e848a7114d5d8e3870bd1fd7da3abf6f83c26) Set PHP 7.4 as the minimum version (Steve Boyd)
* 2022-02-10 [e3f80d5](https://github.com/silverstripe/recipe-cms/commit/e3f80d5deeacd4ca52fdf40d9ad36cea637137a2) Set PHP 7.4 as the minimum version (Steve Boyd)
* 2022-02-10 [84de101](https://github.com/silverstripe/recipe-core/commit/84de101d749c9ab70f63dbabe00b4a3ddc70d2c1) Set PHP 7.4 as the minimum version (Steve Boyd)
* 2022-04-20 [9aa0c6b](https://github.com/silverstripe/silverstripe-assets/commit/9aa0c6bdfcfe27514d328b8d774629771ad223dd) Bump minimum version of intervention/image (Steve Boyd)
* 2022-03-08 [9ac7bde](https://github.com/silverstripe/silverstripe-assets/commit/9ac7bde05efeca10bf8e995d825a5b19c4f3a258) Update minimum version of intervention/image (Steve Boyd)
* 2022-02-10 [126299c](https://github.com/silverstripe/silverstripe-assets/commit/126299cdf9cd2c8f6381cd806968087f06495265) Set PHP 7.4 as the minimum version (Steve Boyd)
* silverstripe/config (1.3.0 -> 1.4.0)
* 2022-01-26 [c89a8e4](https://github.com/silverstripe/silverstripe-config/commit/c89a8e44a6f97a3b9d7fea2e3d34594434874300) Set minimum symfony version to 3.4 (Steve Boyd)
* 2022-02-08 [b800927d9](https://github.com/silverstripe/silverstripe-framework/commit/b800927d978417e42531deed5e44eb7f87da1d4c) Set minimum symfony version to 3.4 (#10209) (Steve Boyd)
* silverstripe/mimevalidator (2.3.0 -> 2.4.0)
* 2022-02-10 [5a8af3c](https://github.com/silverstripe/silverstripe-mimevalidator/commit/5a8af3c6ac02e1616f1373b9f189516b1722ecde) Set PHP 7.4 as the minimum version (Steve Boyd)
* silverstripe/admin (1.10.0 -> 1.11.0)
* 2022-04-28 [970533a6](https://github.com/silverstripe/silverstripe-admin/commit/970533a61f076e8aab79c0808524cf48fe776e41) Bump async from 2.6.3 to 2.6.4 (dependabot[bot])
* 2022-02-10 [876af75d](https://github.com/silverstripe/silverstripe-admin/commit/876af75d07d29e3170912b658222efba644b6a80) Set PHP 7.4 as the minimum version (Steve Boyd)
* 2022-02-10 [2bf3d488](https://github.com/silverstripe/silverstripe-asset-admin/commit/2bf3d488c0b9032d1ef03ec7880315d2b8b8bad3) Set PHP 7.4 as the minimum version (Steve Boyd)
* 2022-01-26 [ca23ccd8](https://github.com/silverstripe/silverstripe-asset-admin/commit/ca23ccd8534c8d8bed56f6f56049a665497b3fe4) Pin colors to 1.1.2 (#1246) (Steve Boyd)
* 2022-04-28 [b6978d8](https://github.com/silverstripe/silverstripe-campaign-admin/commit/b6978d81444e00e8eb08a65241f27de5155b5285) Bump async from 2.6.3 to 2.6.4 (dependabot[bot])
* 2022-02-10 [73a70fc](https://github.com/silverstripe/silverstripe-campaign-admin/commit/73a70fcd4f052a04ec407aae79b72b9415c2a9fe) Set PHP 7.4 as the minimum version (Steve Boyd)
* 2022-04-28 [062c55f](https://github.com/silverstripe/silverstripe-versioned-admin/commit/062c55f98d24465e28e849ef49d85c4d775e168d) Bump async from 2.6.3 to 2.6.4 (dependabot[bot])
* 2022-02-10 [270a0d6](https://github.com/silverstripe/silverstripe-versioned-admin/commit/270a0d6b17a19e51f68175b4f4d5be3df29450c5) Set PHP 7.4 as the minimum version (Steve Boyd)
* 2022-01-26 [63527e0](https://github.com/silverstripe/silverstripe-versioned-admin/commit/63527e0c32fcd1dba05e46fa8e2c6efd5ffea9d8) Pin colors to 1.1.2 (#227) (Steve Boyd)
* 2021-10-05 [05ba8c2](https://github.com/silverstripe/silverstripe-versioned-admin/commit/05ba8c29c3e5013a8cf11236b4abaa666e26dcc1) Bump url-parse from 1.5.1 to 1.5.3 (dependabot[bot])
* silverstripe/cms (4.10.0 -> 4.11.0)
* 2022-04-28 [4419f1ff](https://github.com/silverstripe/silverstripe-cms/commit/4419f1ff15df07698f34ee6e668e2b2f9767da82) Bump async from 2.6.3 to 2.6.4 (dependabot[bot])
* 2022-02-10 [3321f386](https://github.com/silverstripe/silverstripe-cms/commit/3321f38615e5b53c74785bdf401ba203ac7ec9b9) Set PHP 7.4 as the minimum version (Steve Boyd)
* 2022-01-26 [f824e9f6](https://github.com/silverstripe/silverstripe-cms/commit/f824e9f654a7d0baae967d27d4cbe7f84feae187) Pin colors to 1.1.2 (#2715) (Steve Boyd)
* silverstripe/errorpage (1.10.0 -> 1.11.0)
* 2022-02-10 [37aeff9](https://github.com/silverstripe/silverstripe-errorpage/commit/37aeff91398d86907e65701045f5b11a8a2cf392) Set PHP 7.4 as the minimum version (Steve Boyd)
* silverstripe/reports (4.10.0 -> 4.11.0)
* 2022-02-10 [013c5d74](https://github.com/silverstripe/silverstripe-reports/commit/013c5d74cf021398d436a3e71451d607bce46064) Set PHP 7.4 as the minimum version (Steve Boyd)
* silverstripe/siteconfig (4.10.0 -> 4.11.0)
* 2022-02-10 [3bd851df](https://github.com/silverstripe/silverstripe-siteconfig/commit/3bd851df842a3a1a82c70a0e2ddc2e01e3a63965) Set PHP 7.4 as the minimum version (Steve Boyd)
* silverstripe/versioned (1.10.0 -> 1.11.0)
* 2022-02-10 [84d121d](https://github.com/silverstripe/silverstripe-versioned/commit/84d121de49d95bbc6ba36891e803fcc969a9c908) Set PHP 7.4 as the minimum version (Steve Boyd)
* silverstripe/graphql (3.7.1 -> 4.0.0)
* 2022-02-10 [4c0f8d2](https://github.com/silverstripe/silverstripe-graphql/commit/4c0f8d23139ed9ad773d487b2e42f0f8eff0fe14) Set PHP 7.4 as the minimum version (Steve Boyd)
* 2022-02-10 [8ccb66f](https://github.com/silverstripe/silverstripe-session-manager/commit/8ccb66f938a87a763e9df33e9c4186005f111a07) Set PHP 7.4 as the minimum version (Steve Boyd)
* 2021-09-22 [73f782e](https://github.com/silverstripe/silverstripe-session-manager/commit/73f782ee025748e687fa930730eeebe82cdfb7b5) Bump nth-check from 2.0.0 to 2.0.1 (dependabot[bot])
* silverstripe/login-forms (4.6.0 -> 4.7.0)
* 2022-04-28 [0ba9e08](https://github.com/silverstripe/silverstripe-login-forms/commit/0ba9e0815cae52a2dbc9170022ff390513dec364) Bump async from 2.6.3 to 2.6.4 (dependabot[bot])
* 2022-02-10 [4abd15d](https://github.com/silverstripe/silverstripe-login-forms/commit/4abd15dc4bfa45d694025a82706e92b7a6b4a94f) Set PHP 7.4 as the minimum version (Steve Boyd)
* 2022-01-26 [10c21a8](https://github.com/silverstripe/silverstripe-login-forms/commit/10c21a8036258368a42e29330007084f6c891453) Pin colors to 1.1.2 (#107) (Steve Boyd)
* 2022-02-10 [b2f797b](https://github.com/silverstripe/recipe-authoring-tools/commit/b2f797b2e8047972861daa94b3e849854d6b0d02) Set PHP 7.4 as the minimum version (Steve Boyd)
* 2022-02-10 [9dc6d35](https://github.com/silverstripe/silverstripe-documentconverter/commit/9dc6d3523c08eaae18534d61f95bc12096818ea4) Set PHP 7.4 as the minimum version (Steve Boyd)
* silverstripe/iframe (2.2.0 -> 2.3.0)
* 2022-02-10 [577b690](https://github.com/silverstripe/silverstripe-iframe/commit/577b690fb88066c6ee17fc4ea641a6c1d170a1fd) Set PHP 7.4 as the minimum version (Steve Boyd)
* silverstripe/spellcheck (2.3.0 -> 2.4.0)
* 2022-02-10 [5c6fa67](https://github.com/silverstripe/silverstripe-spellcheck/commit/5c6fa67e3c47020102ce298f3ee0738bee10ff63) Set PHP 7.4 as the minimum version (Steve Boyd)
* silverstripe/tagfield (2.8.0 -> 2.9.0)
* 2022-04-28 [7a19b70](https://github.com/silverstripe/silverstripe-tagfield/commit/7a19b709f29c11916b6973052b71df1072967241) Bump async from 2.6.3 to 2.6.4 (dependabot[bot])
* 2022-02-28 [6de73ba](https://github.com/silverstripe/silverstripe-tagfield/commit/6de73bad08be56e6e8aa902ce13ccfe130458a21) Bump url-parse from 1.5.7 to 1.5.10 (dependabot[bot])
* 2022-02-18 [d7539be](https://github.com/silverstripe/silverstripe-tagfield/commit/d7539bebb93a751ef92cc7c14131a1a547c693e7) Bump url-parse from 1.5.3 to 1.5.7 (dependabot[bot])
* 2022-02-10 [206740a](https://github.com/silverstripe/silverstripe-tagfield/commit/206740a9aa591bcb3c47b4680845d5c298918e89) Set PHP 7.4 as the minimum version (Steve Boyd)
* silverstripe/taxonomy (2.3.0 -> 2.4.0)
* 2022-02-10 [b5fceab](https://github.com/silverstripe/silverstripe-taxonomy/commit/b5fceab8baffc72dd6cd424d9f337767f7c594fe) Set PHP 7.4 as the minimum version (Steve Boyd)
* silverstripe/recipe-blog (1.10.0 -> 1.11.0)
* 2022-02-10 [ae03deb](https://github.com/silverstripe/recipe-blog/commit/ae03deb1d4f4b91ac4a33fde409cd0e81a90025f) Set PHP 7.4 as the minimum version (Steve Boyd)
* 2022-04-28 [8d6a03b](https://github.com/silverstripe/silverstripe-blog/commit/8d6a03bfdea4670d183ea0516bd9a1d9e262c25d) Bump async from 2.6.3 to 2.6.4 (dependabot[bot])
* 2022-02-10 [7508ae6](https://github.com/silverstripe/silverstripe-blog/commit/7508ae626bd07b6af2fde4defa051fa7cbaaeee3) Set PHP 7.4 as the minimum version (Steve Boyd)
* silverstripe/content-widget (2.3.0 -> 2.4.0)
* 2022-02-10 [0392ad2](https://github.com/silverstripe/silverstripe-content-widget/commit/0392ad209922b8c122781efc826f2410be10d164) Set PHP 7.4 as the minimum version (Steve Boyd)
* silverstripe/spamprotection (3.2.0 -> 3.3.0)
* 2022-02-10 [f7febc1](https://github.com/silverstripe/silverstripe-spamprotection/commit/f7febc1e984c02abc2d0fc976e5e57419606a50a) Set PHP 7.4 as the minimum version (Steve Boyd)
* silverstripe/akismet (4.2.0 -> 4.3.0)
* 2022-02-10 [148879e](https://github.com/silverstripe/silverstripe-akismet/commit/148879e71622715c8ac2b0c7d303ac924c0b1aba) Set PHP 7.4 as the minimum version (Steve Boyd)
* silverstripe/comments (3.7.2 -> 3.8.0)
* 2022-04-28 [9ef77e3](https://github.com/silverstripe/silverstripe-comments/commit/9ef77e393c0671f3429e3462085d0deefc77ed92) Bump async from 2.6.3 to 2.6.4 (dependabot[bot])
* 2022-02-10 [536d965](https://github.com/silverstripe/silverstripe-comments/commit/536d965d9cb6368def3785ea56e5842313be56cb) Set PHP 7.4 as the minimum version (Steve Boyd)
* 2022-02-10 [eda605b](https://github.com/silverstripe/comment-notifications/commit/eda605b1fe9f270939409d0a059716f0ef4f72bf) Set PHP 7.4 as the minimum version (Steve Boyd)
* 2022-02-10 [7b44d01](https://github.com/silverstripe/recipe-collaboration/commit/7b44d01a3b45b7cefdf5b32ea0edac0214a247c4) Set PHP 7.4 as the minimum version (Steve Boyd)
* 2022-04-28 [69cf355](https://github.com/silverstripe/silverstripe-contentreview/commit/69cf355d9f50201dde0867948053662307dd0f5e) Bump async from 2.5.0 to 2.6.4 (dependabot[bot])
* 2022-02-11 [7def6f8](https://github.com/silverstripe/silverstripe-contentreview/commit/7def6f8c2ade3e220bff22f88512ff5bad5a10cf) Set PHP 7.4 as the minimum version (Steve Boyd)
* 2022-04-28 [902e8e5](https://github.com/silverstripe/silverstripe-sharedraftcontent/commit/902e8e5b0ff18492caf8b42e0cb888d858b745f9) Bump async from 2.6.3 to 2.6.4 (dependabot[bot])
* 2022-02-28 [e06ccc1](https://github.com/silverstripe/silverstripe-sharedraftcontent/commit/e06ccc17f800656b608005af164418a101b347d2) Bump url-parse from 1.5.7 to 1.5.10 (dependabot[bot])
* 2022-02-18 [40f739a](https://github.com/silverstripe/silverstripe-sharedraftcontent/commit/40f739ab4d44807302759e747b1ab23813d787ec) Bump url-parse from 1.5.3 to 1.5.7 (dependabot[bot])
* 2022-02-10 [1598576](https://github.com/silverstripe/silverstripe-sharedraftcontent/commit/159857688aea0aed24ecec2bc9bbffc69eb41b86) Set PHP 7.4 as the minimum version (Steve Boyd)
* 2022-02-10 [1d468c5](https://github.com/symbiote/silverstripe-advancedworkflow/commit/1d468c5ba71e6939b449fa56d21d541d8f796903) Set PHP 7.4 as the minimum version (Steve Boyd)
* 2022-02-10 [acd22ac](https://github.com/silverstripe/recipe-form-building/commit/acd22acca48522ca932f47bc36da091cf37bc23f) Set PHP 7.4 as the minimum version (Steve Boyd)
* 2022-04-28 [dee2fbb](https://github.com/silverstripe/silverstripe-segment-field/commit/dee2fbb7cd053a4246a70b0a7b9028a8a983142b) Bump async from 2.6.3 to 2.6.4 (dependabot[bot])
* 2022-02-10 [46d3be3](https://github.com/silverstripe/silverstripe-segment-field/commit/46d3be349c5315d78d9b31a2fd3c55c781cc4bb5) Set PHP 7.4 as the minimum version (Steve Boyd)
* silverstripe/userforms (5.11.1 -> 5.13.0)
* 2022-04-28 [8e04a6d](https://github.com/silverstripe/silverstripe-userforms/commit/8e04a6d43ad4f5e2cdc19b03fe81ccd462552827) Bump async from 2.6.3 to 2.6.4 (dependabot[bot])
* 2022-02-10 [3254d57](https://github.com/silverstripe/silverstripe-userforms/commit/3254d57d2d42e38eea65a0be3cf087aa1e54de68) Set PHP 7.4 as the minimum version (Steve Boyd)
* 2022-04-20 [b841a0c](https://github.com/silverstripe/recipe-reporting-tools/commit/b841a0c50f7839d7b6bc388ef49f9f1162622a60) Use v3 of silverstripe-composer-update-checker (Steve Boyd)
* 2022-02-13 [520c61e](https://github.com/silverstripe/recipe-reporting-tools/commit/520c61ebe3eb41df10c78603f0208b79693923b1) Set PHP 7.4 as the minimum version (Steve Boyd)
* 2022-02-10 [b1cd65d](https://github.com/silverstripe/silverstripe-externallinks/commit/b1cd65d53802fce6b65a5ef68e1708bb59cb0922) Set PHP 7.4 as the minimum version (Steve Boyd)
* silverstripe/securityreport (2.4.0 -> 2.5.0)
* 2022-02-10 [357b6cb](https://github.com/silverstripe/silverstripe-securityreport/commit/357b6cbef1f0531923c55b28417dd22b8bda0ec3) Set PHP 7.4 as the minimum version (Steve Boyd)
* 2022-02-20 [7bc6899](https://github.com/bringyourownideas/silverstripe-maintenance/commit/7bc6899ff5e4a7df03f2abd113047a7ee9e504d6) Set PHP 7.4 as the minimum version (#176) (Steve Boyd)
* 2022-02-20 [9f34efe](https://github.com/bringyourownideas/silverstripe-composer-update-checker/commit/9f34efef5b0d5b2b13b0f38578b91cd8c3b957a1) Set PHP 7.4 as the minimum version (#58) (Steve Boyd)
* 2022-02-10 [4e4e614](https://github.com/silverstripe/recipe-authoring-tools/commit/4e4e61454973a35b8fff3506e0a99b4266452c9f) Set PHP 7.4 as the minimum version (Steve Boyd)
* 2022-02-10 [e0bab7d](https://github.com/silverstripe/silverstripe-restfulserver/commit/e0bab7d62325bda89f0a968ad2eba172a726737f) Set PHP 7.4 as the minimum version (Steve Boyd)
* silverstripe/versionfeed (2.2.0 -> 2.3.0)
* 2022-02-10 [8171761](https://github.com/silverstripe/silverstripe-versionfeed/commit/8171761d396f62151ba8750046ebd99dd612211d) Set PHP 7.4 as the minimum version (Steve Boyd)
* 2022-02-10 [e5eeb72](https://github.com/silverstripe/recipe-content-blocks/commit/e5eeb722454372289f78b55edf86899ab06ec08d) Set PHP 7.4 as the minimum version (Steve Boyd)
* 2022-02-10 [f4d9c5f](https://github.com/silverstripe/silverstripe-elemental/commit/f4d9c5f6204ed43bceea21485baadd555137a4fb) Set PHP 7.4 as the minimum version (Steve Boyd)
* 2022-02-10 [ad7d179](https://github.com/silverstripe/silverstripe-elemental-fileblock/commit/ad7d179988aa5e35b33d3f985205a8534a611cf9) Set PHP 7.4 as the minimum version (Steve Boyd)
* 2021-12-09 [bfc27d6](https://github.com/silverstripe/silverstripe-elemental-fileblock/commit/bfc27d6a2274305f88860d71f5af32c1cb1b4767) Require PHP8 compatible version of elemental (Steve Boyd)
* 2022-04-28 [cdc5bc1](https://github.com/silverstripe/silverstripe-elemental-bannerblock/commit/cdc5bc14a2a165de2f35993bc0e7c6ed36f5a823) Bump async from 2.6.3 to 2.6.4 (dependabot[bot])
* 2022-02-10 [f6c0753](https://github.com/silverstripe/silverstripe-elemental-bannerblock/commit/f6c0753076722ea0ea63e67b1b061285d8b39ee5) Set PHP 7.4 as the minimum version (Steve Boyd)
* 2022-02-10 [42f343f](https://github.com/silverstripe/cwp-recipe-search/commit/42f343f3393cf211dba1ba78233f0f1b374d2ea4) Set PHP 7.4 as the minimum version (Steve Boyd)
* 2022-04-25 [24b53e6](https://github.com/silverstripe/silverstripe-fulltextsearch/commit/24b53e65cae240bf3b7653bbf94140f3df7ccac8) Use silverstripe fork (Steve Boyd)
* 2022-02-10 [eac962d](https://github.com/silverstripe/silverstripe-fulltextsearch/commit/eac962d103e7b7ccd3cd4653129b7526d9cc8a90) Set PHP 7.4 as the minimum version (Steve Boyd)
* 2022-02-10 [0944d73](https://github.com/symbiote/silverstripe-queuedjobs/commit/0944d73ba16d04aa8e4fe92702a12d3f15aeaa85) Set PHP 7.4 as the minimum version (Steve Boyd)
* silverstripe/registry (2.4.0 -> 2.5.0)
* 2022-02-10 [c3e8ea4](https://github.com/silverstripe/silverstripe-registry/commit/c3e8ea4fefdd0c044e13e64d01d488f156c95cf6) Set PHP 7.4 as the minimum version (Steve Boyd)
* 2022-04-28 [dd8b3ac](https://github.com/silverstripe/silverstripe-totp-authenticator/commit/dd8b3ac86cdc625c24b89cbbeadd41cd4ad65b5e) Bump async from 2.6.3 to 2.6.4 (dependabot[bot])
* 2022-02-10 [919b6e0](https://github.com/silverstripe/silverstripe-totp-authenticator/commit/919b6e0945e54b0ab3797d250905f147bcd84832) Set PHP 7.4 as the minimum version (Steve Boyd)
* 2022-04-09 [02dd95f](https://github.com/silverstripe/silverstripe-mfa/commit/02dd95f30e14ee1e9db6c766366b898ed706d39c) Bump moment from 2.29.1 to 2.29.2 (dependabot[bot])
* 2022-02-10 [72b4b50](https://github.com/silverstripe/silverstripe-mfa/commit/72b4b501b8b1422f05588b88c093111f97504aaf) Set PHP 7.4 as the minimum version (Steve Boyd)
* silverstripe/crontask (2.4.0 -> 2.5.0)
* 2022-02-10 [0140114](https://github.com/silverstripe/silverstripe-crontask/commit/01401142bbadd576f45c4462d2b8a99ab1e6ea1e) Set PHP 7.4 as the minimum version (Steve Boyd)
* 2022-02-10 [87ed653](https://github.com/silverstripe/silverstripe-gridfieldqueuedexport/commit/87ed653ce183a2147429138a5e2ebfd09e895e88) Set PHP 7.4 as the minimum version (Steve Boyd)
* silverstripe/ldap (1.3.0 -> 1.4.0)
* 2022-02-10 [d20b461](https://github.com/silverstripe/silverstripe-ldap/commit/d20b4613556b725705cc42601fdf5ca1225f9907) Set PHP 7.4 as the minimum version (Steve Boyd)
* silverstripe/textextraction (3.3.0 -> 3.4.0)
* 2022-02-10 [e8f015d](https://github.com/silverstripe/silverstripe-textextraction/commit/e8f015ddd2634d145b8ccaed00562f3a4b95ff6b) Set PHP 7.4 as the minimum version (Steve Boyd)
* 2022-01-25 [7ad3fc9](https://github.com/silverstripe/silverstripe-textextraction/commit/7ad3fc9f13b175d643a80317fbda2ccdfd4c7dd0) Loosen constraints for guzzlehttp/guzzle (GuySartorelli)
* silverstripe/realme (4.2.0 -> 4.3.0)
* 2022-02-10 [435d488](https://github.com/silverstripe/silverstripe-realme/commit/435d488a14c021b04b4bc6bcc7a3173428464d74) Set PHP 7.4 as the minimum version (Steve Boyd)
* silverstripe/ckan-registry (1.4.0 -> 1.5.0)
* 2022-03-09 [7bdbd67](https://github.com/silverstripe/silverstripe-ckan-registry/commit/7bdbd677e572b0acc3f842ab0fff38ad0bf45ac1) Use guzzle ^7.3 (Steve Boyd)
* 2022-02-10 [d19cb65](https://github.com/silverstripe/silverstripe-ckan-registry/commit/d19cb652372f71d40a95ea46e1a111f396ddfb78) Set PHP 7.4 as the minimum version (Steve Boyd)
* 2022-04-28 [b7f8056](https://github.com/silverstripe/silverstripe-webauthn-authenticator/commit/b7f80561254f54524fe0abfe7dff2a504c8b4d98) Bump async from 2.6.3 to 2.6.4 (dependabot[bot])
* 2022-03-09 [371c5bb](https://github.com/silverstripe/silverstripe-webauthn-authenticator/commit/371c5bbb08dc793ff46f053e5bf09a5d76ecbf10) Use guzzlehttp/psr7 ^2 (Steve Boyd)
* 2022-02-10 [5424953](https://github.com/silverstripe/silverstripe-webauthn-authenticator/commit/5424953e72ce20cba65c43ef8df9b6acdb1e4a87) Set PHP 7.4 as the minimum version (Steve Boyd)
* 2022-02-10 [f5bf7ab](https://github.com/silverstripe/silverstripe-security-extensions/commit/f5bf7ab48ac2db6395a3fb9e07e35ec2b040b429) Set PHP 7.4 as the minimum version (Steve Boyd)
* silverstripe/subsites (2.5.0 -> 2.6.0)
* 2022-02-10 [07aefb1](https://github.com/silverstripe/silverstripe-subsites/commit/07aefb198202574df5ba8cbdc53b0614f84832b5) Set PHP 7.4 as the minimum version (Steve Boyd)
* silverstripe/html5 (2.2.0 -> 2.4.0)
* 2022-02-10 [61be962](https://github.com/silverstripe/silverstripe-html5/commit/61be962d4348034a3f5a71ed5aaf954104b937fc) Set PHP 7.4 as the minimum version (Steve Boyd)
* cwp/agency-extensions (2.6.0 -> 2.7.0)
* 2021-09-21 [de219d5](https://github.com/silverstripe/cwp-agencyextensions/commit/de219d542eb7f6fb871065e9318d01afcde39941) Bump tmpl from 1.0.4 to 1.0.5 (dependabot[bot])
* silverstripe/recipe-ccl (2.10.0 -> 2.11.0)
* 2022-02-10 [9d70be4](https://github.com/silverstripe/recipe-ccl/commit/9d70be4abddb07dff8ec3d1d93aa9ab3bf88c90d) Set PHP 7.4 as the minimum version (Steve Boyd)
* 2022-02-10 [51cf3e5](https://github.com/silverstripe/silverstripe-auditor/commit/51cf3e5f9738068bbfcb942306c4f61d065ebf72) Set PHP 7.4 as the minimum version (Steve Boyd)
* 2022-02-10 [3902a1d](https://github.com/silverstripe/silverstripe-environmentcheck/commit/3902a1d6886ec524d254e5afd7c5ef833de1e891) Set PHP 7.4 as the minimum version (Steve Boyd)
* silverstripe/hybridsessions (2.4.0 -> 2.5.1)
* 2022-02-10 [c668896](https://github.com/silverstripe/silverstripe-hybridsessions/commit/c6688968abd7d2fd265a672114f87024776a5b1b) Set PHP 7.4 as the minimum version (Steve Boyd)
* 2022-02-13 [d7fa465](https://github.com/dnadesign/silverstripe-elemental-userforms/commit/d7fa4654b35a35ffe449069565c17f2ecb4934b6) Set PHP 7.4 as the minimum version (Steve Boyd)
* 2022-02-10 [255bfd9](https://github.com/symbiote/silverstripe-multivaluefield/commit/255bfd9e25fa57b7a23296bb735d449a1688d33a) Set PHP 7.4 as the minimum version (Steve Boyd)
### Documentation
* silverstripe/installer (4.10.0 -> 4.11.0)
* 2022-02-01 [9a342a5](https://github.com/silverstripe/silverstripe-installer/commit/9a342a58eeed74338499fd30fc531622d0aaf4ee) Change "SilverStripe" to "Silverstripe" in readme (#314) (GuySartorelli)
* silverstripe/recipe-cms (4.10.0 -> 4.11.0)
* 2022-02-01 [ea3c4b1](https://github.com/silverstripe/recipe-cms/commit/ea3c4b16c7ba185af2a20c2c765041f83db97e3f) Change "SilverStripe" to "Silverstripe" in readme (#53) (GuySartorelli)
* silverstripe/recipe-core (4.10.0 -> 4.11.0)
* 2022-02-01 [a824a33](https://github.com/silverstripe/recipe-core/commit/a824a33afa2b3a0a0292c9e9ac83adf1770824ae) Change "SilverStripe" to "Silverstripe" in readme (#70) (GuySartorelli)
* silverstripe/framework (4.10.0 -> 4.11.0)
* 2022-04-22 [7d2bfc6fc](https://github.com/silverstripe/silverstripe-framework/commit/7d2bfc6fcf33443d238e2358be8f7616d481ccc9) Fix page not found in Builtin Middlewares (FreezerNick)
* 2022-04-14 [e9d3fe5c0](https://github.com/silverstripe/silverstripe-framework/commit/e9d3fe5c00e06d793d2d1e89e44f5346921d4321) Explain how to add new Image formats. (Maxime Rainville)
* 2022-04-13 [e05fed46e](https://github.com/silverstripe/silverstripe-framework/commit/e05fed46ea298a0237e91a7f80d69ead69c60125) Add changelog entry for WebP support (Maxime Rainville)
* 2022-04-12 [c2c6e5392](https://github.com/silverstripe/silverstripe-framework/commit/c2c6e5392d4ea51dbfee6b8e4c2a08b25646b887) Remove reference to GraphQL verbosity (Maxime Rainville)
* 2022-03-23 [eda52d167](https://github.com/silverstripe/silverstripe-framework/commit/eda52d1677bd672c7d97f066c2f465c577bbf943) Add Matt Peel to core committers (Maxime Rainville)
* 2022-03-08 [e05142dba](https://github.com/silverstripe/silverstripe-framework/commit/e05142dba814a9e795b1fad81e2b03527d3a9891) Remove warning about typos (#10256) (Maxime Rainville)
* 2022-03-07 [41df2a22e](https://github.com/silverstripe/silverstripe-framework/commit/41df2a22e6b1cde0764baa611688f45a995f14e7) Clarify that Silverstripe CMS does not have a bug bounty program (Maxime Rainville)
* 2022-02-15 [9773f0d8c](https://github.com/silverstripe/silverstripe-framework/commit/9773f0d8ce92f1a57fc97a451acd08c7a4fd5d2c) Fix link to PHPunit docs (Guy Sartorelli)
* 2022-02-09 [73fd4b185](https://github.com/silverstripe/silverstripe-framework/commit/73fd4b185a3bc12d7612e8f0b8417b5b5d43d64f) Add Steve to Core Committer list (Maxime Rainville)
* 2022-02-08 [6e1bc807e](https://github.com/silverstripe/silverstripe-framework/commit/6e1bc807e55e4a47ab2490e2e45d784191b0402d) GraphQL src must always be an array. (#10213) (Maxime Rainville)
* 2022-02-08 [4044573ae](https://github.com/silverstripe/silverstripe-framework/commit/4044573ae776c7fbcb5f8fe7e1acd56312741dd8) Clarify which branch to target for third-party dependency changes (#10216) (Steve Boyd)
* 2022-02-08 [95be6ed07](https://github.com/silverstripe/silverstripe-framework/commit/95be6ed077146b18dc53b9c3e17d1b3facc403cb) Update old pre-namespaces PHPDoc (GuySartorelli)
* 2022-02-06 [2e5a988f4](https://github.com/silverstripe/silverstripe-framework/commit/2e5a988f4654ba3dc793679c5f4cb2c41b372042) Add blurbs about several new features to 4.11 changelog (GuySartorelli)
* 2022-02-03 [8f1c68db4](https://github.com/silverstripe/silverstripe-framework/commit/8f1c68db4269bc308935a4811391abd3154dfbd9) Document how to enable the preview panel for custom DataObjects. (#10124) (GuySartorelli)
* 2022-01-18 [05e57bdc3](https://github.com/silverstripe/silverstripe-framework/commit/05e57bdc38693546d29808ad68650ef43bf5c096) Remove italics in headings (#10205) (Ed Wilde)
* 2022-01-18 [ce3e07a18](https://github.com/silverstripe/silverstripe-framework/commit/ce3e07a1894f548ff0c08b8c686e973a9e8451e5) DBComposite reword to make a little more sense. (#10193) (LiamKearn)
* 2021-12-23 [a7b8c9f03](https://github.com/silverstripe/silverstripe-framework/commit/a7b8c9f038709ce1e1f1a5cbba18437349c44fcc) Docs for various new graphql features (#10186) (Aaron Carlino)
* 2021-12-21 [53bb0a82e](https://github.com/silverstripe/silverstripe-framework/commit/53bb0a82e8a07c1c306e311ee282f66f573f1fad) Close xml tag (Steve Boyd)
* 2021-10-07 [5ad7d5169](https://github.com/silverstripe/silverstripe-framework/commit/5ad7d5169fc9f442e9ab00f479dd2818a05fec6e) Update all occurrences of /app/code/ to /app/src/ for correct v4 structure (Michael Pritchard (HEIW))
* 2021-09-01 [612f140bd](https://github.com/silverstripe/silverstripe-framework/commit/612f140bd1f954acd3eeee6c391e1c64b73b70eb) Documenting the capability of 'envorconstant' to be checked against specific values (Patrick Nelson)
* 2021-05-16 [13357c33d](https://github.com/silverstripe/silverstripe-framework/commit/13357c33df81a164c1aad231bd96145e7a72e03c) Explain the new MySQLSchemaManager::schema_use_int_width flag (Maxime Rainville)
* silverstripe/mimevalidator (2.3.0 -> 2.4.0)
* 2022-02-01 [9d024f5](https://github.com/silverstripe/silverstripe-mimevalidator/commit/9d024f5b19987b59e7177c6bd635b2c7e4a6eeb9) Change "SilverStripe" to "Silverstripe" in readme (#51) (GuySartorelli)
* silverstripe/admin (1.10.0 -> 1.11.0)
* 2022-02-01 [ed227e72](https://github.com/silverstripe/silverstripe-admin/commit/ed227e72f7e89eb3e3d034e5765c7c67d10198bd) Change "SilverStripe" to "Silverstripe" in readme (#1284) (GuySartorelli)
* silverstripe/cms (4.10.0 -> 4.11.0)
* 2022-02-01 [86d27daa](https://github.com/silverstripe/silverstripe-cms/commit/86d27daa918b45175f68b2760992b7087c42f6ff) Change "SilverStripe" to "Silverstripe" in readme (#2716) (GuySartorelli)
* silverstripe/errorpage (1.10.0 -> 1.11.0)
* 2022-02-01 [48c8f87](https://github.com/silverstripe/silverstripe-errorpage/commit/48c8f87107a952e95ff4246decbdaa13136c039f) Change "SilverStripe" to "Silverstripe" in readme (#62) (GuySartorelli)
* 2022-03-07 [238f36e](https://github.com/silverstripe/silverstripe-elemental/commit/238f36e79f1aa3dccb0704812bb39deeaf5bd657) fix link to SS 3.x compatible branch (Christopher Darling)
* 2022-02-01 [767fa29](https://github.com/silverstripe/silverstripe-fulltextsearch/commit/767fa29bab829a0ad3903620b88b53b1d409f447) Change "SilverStripe" to "Silverstripe" in readme (#307) (GuySartorelli)
* silverstripe/textextraction (3.3.0 -> 3.4.0)
* 2022-03-09 [d03a9f0](https://github.com/silverstripe/silverstripe-textextraction/commit/d03a9f06e2886fefe80d8ad0f055759bd76fec55) Fix incorrect PHPDoc about what null lifetime means. (Guy Sartorelli)
* 2022-03-06 [04e4b60](https://github.com/silverstripe/silverstripe-textextraction/commit/04e4b604354d72dbd639a9e29130444b299ab327) Fix class reference for cache class (Guy Sartorelli)
* silverstripe/hybridsessions (2.4.0 -> 2.5.1)
* 2022-02-01 [3392c61](https://github.com/silverstripe/silverstripe-hybridsessions/commit/3392c6178228e1b03af2542543626ca4dd830452) Change "SilverStripe" to "Silverstripe" in readme (#66) (GuySartorelli)
* 2022-04-19 [d7b7b58e5](https://github.com/silverstripe/silverstripe-framework/commit/d7b7b58e5d286c875eb78ad4b62cc00c37c0f2c6) Tweaks from peer review (Maxime Rainville)
* 2022-03-15 [334bd48d2](https://github.com/silverstripe/silverstripe-framework/commit/334bd48d2772cb20adfb88d7016533d4a4d04505) PATCH: add `MemberAuthenticator::checkPassword()` to backtrace::$ignore_function_args (Nicolaas / Sunn Side Up)
* 2022-02-22 [231063fd0](https://github.com/silverstripe/silverstripe-framework/commit/231063fd07e3cb09d5451b6858f5ce5ee785eb80) ORM is Object-Relational Mapping. (Eduardo Viñuela)
* 2022-02-07 [34118efbc](https://github.com/silverstripe/silverstripe-framework/commit/34118efbc646b082485609e234ea0cfe7fbcb4e7) BUGFIX: Fixed issue where an undefined class error would be thrown when getting objects or ids from fixtures (UndefinedOffset)
* 2022-01-16 [e40a95af2](https://github.com/silverstripe/silverstripe-framework/commit/e40a95af27b9eae331544b234d7fadf594b41fa2) MINOR: add filterable and sortable field indexes (#10189) (Nicolaas / Sunn Side Up)
* 2022-01-13 [2ed9e8f67](https://github.com/silverstripe/silverstripe-framework/commit/2ed9e8f67b13ab94f21304b81afb3cb27d30f739) Per request from Paul, removing his name from the list of core committers (Matt Peel)
* 2022-01-04 [41530f0be](https://github.com/silverstripe/silverstripe-framework/commit/41530f0be351c9ca89720b55a74cebfb521099a1) MINOR: adding index to PermissionRoleCode.Code for faster filtering and sorting (Nicolaas / Sunn Side Up)
* 2021-12-10 [bf183c809](https://github.com/silverstripe/silverstripe-framework/commit/bf183c80906b4434419949bde2579da62c851876) TestMailer - Add Headers attribute in order for tests to asserts its (Marco Hermo)
* 2021-11-15 [235ebe3c3](https://github.com/silverstripe/silverstripe-framework/commit/235ebe3c3c68856ec88f1623adfc66ea9bc2f5a0) TEST: Simulated test for MySQLSchemaManager::shouldUseIntegerWidth() (Sergey Shevchenko)
* 2021-07-01 [2a845e420](https://github.com/silverstripe/silverstripe-framework/commit/2a845e420da22d717e922c28442ab76136f93cc0) added comment to be more specific (zemiacsik)
* 2021-05-16 [eb5dc731a](https://github.com/silverstripe/silverstripe-framework/commit/eb5dc731a88af87ae02405dab2bdf816e5f26c7c) Move MySQL 8 changelog note to 4.9.0 changelog (Maxime Rainville)
* 2021-04-23 [e68e65bad](https://github.com/silverstripe/silverstripe-framework/commit/e68e65badc5fbaac307ba0af832f4d208c4f8e95) feat: added config value to force certain behaviour & added a note to the docs (Sergey Shevchenko)
* 2021-03-23 [600f8e5b8](https://github.com/silverstripe/silverstripe-framework/commit/600f8e5b869b4ac4e78e7948977dc31ba4b96c2c) Move hasEmptySchem and emptyString to DataSchema on SingleSelectField (Brett Tasker)
* 2022-04-05 [7ea835b](https://github.com/silverstripe/silverstripe-campaign-admin/commit/7ea835be528a0c53f205368581cae99f1220ebad) PSR issue fixing (Sabina Talipova)
* 2022-04-05 [76acf74](https://github.com/silverstripe/silverstripe-campaign-admin/commit/76acf74e559628d9e995cf558cd4b17121e616f7) PSR bugfixing (Sabina Talipova)
* 2022-04-03 [7302283](https://github.com/silverstripe/silverstripe-campaign-admin/commit/7302283d67750cb28b77282c98164fe783d9bcc3) Test case optimisation (Sabina Talipova)
* 2022-04-03 [c2068fc](https://github.com/silverstripe/silverstripe-campaign-admin/commit/c2068fce8d24029ad110b4c53b52786b4d61d4d3) Updated test cases. (Sabina Talipova)
* 2022-03-31 [eb52b1d](https://github.com/silverstripe/silverstripe-campaign-admin/commit/eb52b1d333f151efa0fcd08725ebfb76ff3f962d) Attempt to fix issue in PGSQL build (Sabina Talipova)
* 2022-03-31 [1d8d0d5](https://github.com/silverstripe/silverstripe-campaign-admin/commit/1d8d0d5fb097078d3a62b6181735457be739a087) Test issue (Sabina Talipova)
* 2022-03-30 [367d59a](https://github.com/silverstripe/silverstripe-campaign-admin/commit/367d59abe2622ab09baccd22220d8da44f099643) Filter by ChangeSet IsInferred value equals O (Sabina Talipova)
* 2022-03-27 [ceeed654](https://github.com/silverstripe/silverstripe-cms/commit/ceeed65465f91e053656bf0032f003a5635b4d36) Ensure start var is not a negative number (3Dgoo)
* 2019-10-15 [863ed249](https://github.com/silverstripe/silverstripe-cms/commit/863ed24920dd5b99e37620bcffad2bdfe234a49a) add config var for namespace mapping page->control, add test to confirm (Andrew Aitken-Fincham)
* 2022-06-17 [e1ae903](https://github.com/silverstripe/silverstripe-graphql/commit/e1ae90322c052faaaf0828330f16e7d65f56ddbb) typecast vars to ensure the value is an array (Jordy)
* 2021-11-28 [b11582a](https://github.com/silverstripe/silverstripe-graphql/commit/b11582a84b5920887cf5d5091c00d35635701bde) BUGFIX: Use SchemaModelCreatorInterface instead of class (Aaron Carlino)
* 2021-11-04 [64d8d46](https://github.com/silverstripe/silverstripe-graphql/commit/64d8d46cb03f5e34b836f4d7097d7390a3b52ca5) Use public/_graphql/ subfolder (#385) (Ingo Schommer)
* 2021-10-29 [7af51b7](https://github.com/silverstripe/silverstripe-graphql/commit/7af51b7aac71f49e789701fccfb563060d0a5ae5) BUGFIX: Ensure inherited fields are overridden if their config doesn't match (Aaron Carlino)
* 2021-10-29 [79de5e8](https://github.com/silverstripe/silverstripe-graphql/commit/79de5e8e835cf9779e4f1309ce6835fe35b005ae) BUGFIX: Ensure '*' is always first so that default fields can be overridden (Aaron Carlino)
* 2021-10-26 [64ee0ce](https://github.com/silverstripe/silverstripe-graphql/commit/64ee0ce0a25164259a9adaa860f4136972fa4d0d) Custom id fields for mutations and more (#412) (Aaron Carlino)
* 2021-07-23 [ed27d96](https://github.com/silverstripe/silverstripe-graphql/commit/ed27d96eb0964eff062b67ae27c61c23ad95de5c) Allow dot syntax to return scalars on custom property name (Aaron Carlino)
* 2021-07-13 [ebcd52e](https://github.com/silverstripe/silverstripe-graphql/commit/ebcd52e3cb68eca2e9fb9d29d3de7346a642ff65) ID is non nullable (Aaron Carlino)
* 2021-06-20 [90b138f](https://github.com/silverstripe/silverstripe-graphql/commit/90b138f4220b87aedb7e9a57c6b3ae9780a538d2) Add base resolver, allow native field to resolve (Aaron Carlino)
* 2021-06-16 [7abf90c](https://github.com/silverstripe/silverstripe-graphql/commit/7abf90c139ab8f2fb1bb66ea62e4d1d7dc529cbf) MINOR: firstResult typed to SS_List for non-dataobject cases (Aaron Carlino)
* 2021-04-01 [0dc90fe](https://github.com/silverstripe/silverstripe-graphql/commit/0dc90fed463aebb8bd5d1a1954e72cc761428fb2) BUGFIX: Allow mapFieldByClassName to be authoritative (Aaron Carlino)
* 2021-03-18 [baa89d1](https://github.com/silverstripe/silverstripe-graphql/commit/baa89d138b317f3664d1c78a6fed071614124056) MINOR: Improve version constraint for silverstripe/event-dispatcher (Aaron Carlino)
* 2021-02-17 [34cf6dc](https://github.com/silverstripe/silverstripe-graphql/commit/34cf6dcc7521b9a48a7f912ccf6ade2f991c0f9b) Test passing for new EmptySchema (Aaron Carlino)
* 2021-02-17 [f01ca93](https://github.com/silverstripe/silverstripe-graphql/commit/f01ca9357cb96bc80e4e61081dc3669c9059ab5d) Remove side effect for typename getter (Aaron Carlino)
* 2021-02-16 [3bd3e19](https://github.com/silverstripe/silverstripe-graphql/commit/3bd3e1995470d1d92f1d3041a824c836b6849bf6) Remove write to ASSETS_PATH (Aaron Carlino)
* 2021-02-15 [177843b](https://github.com/silverstripe/silverstripe-graphql/commit/177843b267149cacd0e59ed04cba67a59c1c7c4d) Expose query/mutation type on Schema (Aaron Carlino)
* 2021-02-03 [86af137](https://github.com/silverstripe/silverstripe-graphql/commit/86af1376b36d4a6aa576d76d8eda7fa963cee8f2) Changes per @chillu feedback. SchemaTranscriber now composable for non-assets situations (Aaron Carlino)
* 2021-02-02 [56424b3](https://github.com/silverstripe/silverstripe-graphql/commit/56424b3eb223fd01d1b2757f1d52a396a4e60ba3) Schema warning when model can't be found (#316) (Ingo Schommer)
* 2021-02-02 [17d2897](https://github.com/silverstripe/silverstripe-graphql/commit/17d2897fe1204fca59e50eb887b34c33c5f866ee) Add schema key check, pass type as object for discovery (Aaron Carlino)
* 2021-01-22 [1c6408a](https://github.com/silverstripe/silverstripe-graphql/commit/1c6408afc89dd5fc997720d18e9473bc46968060) Clear store on tests (Aaron Carlino)
* 2021-01-22 [b1f3390](https://github.com/silverstripe/silverstripe-graphql/commit/b1f3390911395309c8225a86cf5aaafc19912664) Refactor several APIs to improve stability (Ingo Schommer)
* 2021-01-22 [7baaff2](https://github.com/silverstripe/silverstripe-graphql/commit/7baaff2c054d361edf82a267a7048225432a816b) Allow Behat smoke test failures for now (Ingo Schommer)
* 2021-01-20 [7027e46](https://github.com/silverstripe/silverstripe-graphql/commit/7027e464aa930c1ef13ddca78b8e60a8c92769f0) Use latest frameworktest (Ingo Schommer)
* 2021-01-20 [b66453e](https://github.com/silverstripe/silverstripe-graphql/commit/b66453e839cd49049ad3443d4931851c5f6d5dd2) Ignore test artifacts in linting (Ingo Schommer)
* 2021-01-20 [b40f3df](https://github.com/silverstripe/silverstripe-graphql/commit/b40f3df437c9bbf3bec9767700d1aecd6529cfc5) Linting, remove versioned dependent test (Aaron Carlino)
* 2020-12-17 [dc0f0b1](https://github.com/silverstripe/silverstripe-graphql/commit/dc0f0b1689d6a6391bfd7a22e13e362bfb821b44) Fixed cross test pollution (Ingo Schommer)
* 2020-12-16 [4a39548](https://github.com/silverstripe/silverstripe-graphql/commit/4a39548c1c3546d649df18a53227c46757e5802c) Model config and integration testing (Aaron Carlino)
* 2020-12-16 [c0cd62c](https://github.com/silverstripe/silverstripe-graphql/commit/c0cd62c057fbecfe79f1d8e6d3d7e40c0daeea22) Removed unnecessary setters on Schema (Ingo Schommer)
* 2020-12-16 [9558164](https://github.com/silverstripe/silverstripe-graphql/commit/9558164e7d93c5225ca5322e17d55fa86f0c28b2) Refactor config loading in Schema (Ingo Schommer)
* 2020-12-16 [245a589](https://github.com/silverstripe/silverstripe-graphql/commit/245a58993cad70b8de2320ed6533c2b9ad357806) Use constants for labels consistently in Schema (Ingo Schommer)
* 2020-12-15 [77a9996](https://github.com/silverstripe/silverstripe-graphql/commit/77a9996b28145f90e5769715a305c39787912e30) BUGFIX: filter not working because list arrays were assumed not to be values (Aaron Carlino)
* 2020-12-15 [7784222](https://github.com/silverstripe/silverstripe-graphql/commit/7784222d081d64192d40a13f279a682bd8607ad5) Config srcs don't need to be keyed arrays (Aaron Carlino)
* 2020-10-29 [edf3d49](https://github.com/silverstripe/silverstripe-graphql/commit/edf3d49ee6fc3bbbf30dc96267aa31511f4f72a8) Several fixes for Graphql 3 BC (Aaron Carlino)
* 2020-10-20 [447abb6](https://github.com/silverstripe/silverstripe-graphql/commit/447abb66ba19cb1cc266b214d262311c29282227) Improvements to plugins to make them less dataObject centric, for versioned-admin (Aaron Carlino)
* 2020-10-19 [ce3d2fa](https://github.com/silverstripe/silverstripe-graphql/commit/ce3d2fa574d34e9af1fc62c028697b734e212d76) Allow getField to return null on models (Aaron Carlino)
* 2020-10-18 [fafb426](https://github.com/silverstripe/silverstripe-graphql/commit/fafb426b2af645d43276e9965d2775b8fe46af3d) Return of build cache, allow method names to be fields (Aaron Carlino)
* 2020-10-15 [508b1a4](https://github.com/silverstripe/silverstripe-graphql/commit/508b1a43f79eb6c3a110b2437047b6fe9dabd7ed) First pass at autobuilding (Aaron Carlino)
* 2020-10-13 [0060fe0](https://github.com/silverstripe/silverstripe-graphql/commit/0060fe03b8e995aaa2d07a83029cd96851999293) Compatability with old Yaml library (Aaron Carlino)
* 2020-10-09 [f11cccc](https://github.com/silverstripe/silverstripe-graphql/commit/f11cccc56034592f7daf3582e196b77f306c5890) Remove getModelType, no longer needed (Aaron Carlino)
* 2020-10-09 [7e2c081](https://github.com/silverstripe/silverstripe-graphql/commit/7e2c0815629f8b1e1774c7fcb5782778fdb5f3ce) __extends on the lowest readable base model, improvements to sorting, filtering (Aaron Carlino)
* 2020-06-26 [78f081a](https://github.com/silverstripe/silverstripe-graphql/commit/78f081a07c32bc07a68951da0bf2f801e431416a) Update constraint syntax in recipe-cms version definition (Robbie Averill)
* 2020-06-25 [5d9c609](https://github.com/silverstripe/silverstripe-graphql/commit/5d9c609a21ec7f551b7108e27828523172b2d63a) Prepare dependencies for API chaging merge, same minor branches for core (Aaron Carlino)
* 2018-08-06 [f9d2153](https://github.com/silverstripe/silverstripe-graphql/commit/f9d2153d4122eb1b60e4813c8b9d0d1a7f2b9046) MINOR Update master branch to be v4.x-dev (Maxime Rainville)
* 2021-11-24 [07868ab](https://github.com/silverstripe/silverstripe-tagfield/commit/07868abfb5bd8940eebb5723cb224a7fd750bc35) Adding `$schemaComponent` to make react render correct component (Michael van Schaik)
* 2022-04-27 [6d288c5](https://github.com/silverstripe/silverstripe-externallinks/commit/6d288c54f2fa10ea3fbeaf1a5e31dcbc661cc1ff) Add new permission group (Sabina Talipova)
* 2022-01-20 [ba0d759](https://github.com/silverstripe/silverstripe-elemental/commit/ba0d7597c2f77e5967de8bc037dc53af74427fc1) BUGFIX: Use new typeMapping graphql API (Aaron Carlino)
* 2022-01-20 [bff0507](https://github.com/silverstripe/silverstripe-elemental/commit/bff0507fd86c3b5a8cab66b95a5101613cbc4cd8) BUGFIX: Use new typeMapping graphql API (#955) (Aaron Carlino)
* 2022-03-03 [0788dc4](https://github.com/silverstripe/silverstripe-fulltextsearch/commit/0788dc4e813cfbb15b30650125cd5f9171d570f9) [Backport] Let symfony/process escape each command part separately (#315) (Michal Kleiner)
* 2022-02-18 [adefb3f](https://github.com/silverstripe/silverstripe-fulltextsearch/commit/adefb3fddf482c631688d8773d178e81e7bf3278) Symfony process constructor fix (#312) (Kirk Mayo)
* 2022-01-07 [fbe899e](https://github.com/silverstripe/silverstripe-fulltextsearch/commit/fbe899e85fdbf0b71a83fe30c3c37d2f983a4648) Close curl handles after use (Daniel Hensby)
* 2022-01-17 [b6be02c](https://github.com/symbiote/silverstripe-queuedjobs/commit/b6be02c975b963f19a6dea5469c6e89b28fd6a34) only log if theres something to log (#353) (Andrew Paxley)
* 2022-02-22 [062a7d1](https://github.com/silverstripe/silverstripe-html5/commit/062a7d1fc46832de0e8f520444734926b391d257) add test for noscript tags (Florian Thoma)