This version of Silverstripe CMS is a **release candidate** for an upcoming stable version, and should not be applied to production websites. We encourage developers to test this version in development / testing environments and [report any issues they encounter via GitHub](/contributing/issues_and_bugs/).
- [DataObject constructor support for hydration](#dataobject-constructor-support-for-hydration)
## New features
### Updated file usage table
CMS users can view where a file is used by accessing the Used on tab in the Files section. This feature allows them to
identify what DataObjects depend on the file.
The following changes have been made to the Used on table:
- Data is now sourced from `has_one` and `many_many` relations instead of the ownership API
- This means more data relationships should be shown than before
- Uses the new `RelatedDataService` API in the framework module which can also be used for other non-file use cases
- Support for linking ancestor relationships in the same table row, for instance showing the Page a Content Block is on
- Ability to click on a row and navigate to the most relevant `CMSEditLink()`
- Removal of draft badges
- Styling tweaks such as reduced padding
Your project specific DataObjects will automatically be displayed on this Used on tab. This may not always be desirable,
especially when working with background DataObjects the user can not interact with directly. It is recommended you view
the CMS Developer Guide for more information on this change, see the [File Usage section](docs/en/02_Developer_Guides/14_Files/07_File_Usage).
### Experimental support for PHP 8
You can now run Silverstripe CMS on PHP 8, which is due for release in November 2020. PHP 8 includes
many exciting new features like named parameters, attributes, and union types. There are a few
important caveats to keep in mind if you plan to adopt PHP 8 at release.
Upgrading to PHP 8 on projects using `SapphireTest` for unit testing requires adoption of the
[`sminnee/phpunit`](https://packagist.org/packages/sminnee/phpunit) fork, and Prophecy is not
currently supported. Prophecy tests can be fairly trivially ported to PHPUnit Mock Objects. We hope
to give you better support for choosing your own testing tools, including newer versions of PHPUnit,
in a future release.
Support for PHP 8 does not yet extend to non-core modules, and PHP 8 itself is not yet stable, so
compatibility issues could arise in future PHP builds. This extends to dependencies of core, many of
which have not yet declared support for PHP 8, so you will need to run Composer with the
`--ignore-platform-reqs` flag for the time being.
Finally, support for the new JIT functionality has not yet been tested.
We encourage early adopters to report any issues running CMS Recipe 4.7.0 against PHP 8 on the
relevant GitHub repository.
### Support for Symfony 4 Components
Symfony 3 will become unsupported early next year, so Silverstripe CMS is now forwards-compatible
with Symfony 4 components. This is a largely transparent upgrade, but you may encounter errors
related to strings starting with `%` in YML files, which can be easily rectified by wrapping all
affected strings in quotes.
If you'd rather retain the previous YAML parser for the time being, you can run
`composer require symfony/yaml:^3` on your project to prevent the update to version 4.
### Default MySQL collation updated
New projects based on `silverstripe/installer` will default to the `utf8mb4_unicode_ci` collation.
This change will not affect existing projects, but developers are encouraged to adopt this collation
as it provides better support for multi-byte characters such as emojis.
Depending on the version of MySQL you are running, you may encounter issues with `Varchar` fields
exceeding the maximum indexable size:
- MySQL 5.5 and lower cannot support indexes larger than 768 bytes (192 characters)
- MySQL 5.6 supports larger indexes (3072 bytes) if the `innodb_large_prefix` setting is enabled (not by default)
- MySQL 5.7 and newer have `innodb_large_prefix` enabled by default
- MariaDB ~10.1 matches MySQL 5.6's behaviour, >10.2 matches 5.7's.
You can rectify this by upgrading MySQL, enabling the `innodb_large_prefix` setting if present, or
reducing the size of affected fields. If none of these solutions are currently suitable, you can
remove the new collation configuration to default back to the previous default collation.
### MySQL connection mode now configurable
In MySQL versions >=5.7.5, the `ANSI` sql_mode setting behaves differently and includes the `ONLY_FULL_GROUP_BY` setting. It is generally recommended to leave this setting as-is because it results in deterministic SQL. However, for some advanced cases, the sql_mode can now be configured on the database connection via the configuration API (see `MySQLDatabase::$sql_mode` for more details.)
### Flysystem dependency shifted
Previously the Flysystem package was pulled in via the `silverstripe/framework` module, but only
used in the `silverstripe/assets` module. To make this dependency clearer, it has been added to
the `silverstripe/assets` module and removed from `silverstripe/framework`. Most developers should
not notice any issues, but if you depend on Flysystem in your own project code, you should ensure
that you have it specified in your `composer.json`.
An edgecase exists where a project can update to `silverstripe/framework 4.7.0` but remain on
`silverstripe/assets 1.6.x`, and lose the Flysystem dependency entirely. The best way to avoid this
is by ensuring you update all core modules to the new minor release at once, ideally through a core
recipe like `silverstripe/recipe-core`.
### Improved Toast notifications
Toast notifications have been completely revamped
- Toast notifications can now be triggered from React components using Redux actions
- Actions can now be attached to the toast notifications
- Accessibility has been improved (see the component documentation for caveats when using actions)
Asset-admin has been updated to use toast notifications instead of alerts. More modules will start
using them in future releases.
[Review the Toast story in the pattern library](https://silverstripe.github.io/silverstripe-admin/?selectedKind=Admin%2FToasts&selectedStory=Single)
to learn how and when to use the toast notifications.
### DataObject constructor support for hydration
Many developers wrongly assumed that the DataObject constructor could be used to "hydrate" a record
by passing an array of value to it. While this worked in some cases, values would be run through
setters and validation occasionally leading to inconsistencies.
Silverstripe CMS Recipe 4.7 introduces improvements to the DataObject constructor to provide proper
* 2020-09-22 [f267081](https://github.com/silverstripe/silverstripe-config/commit/f267081c160bec8cedd9cca60749e624b96e08c6) Confirm support for PHP8 (Sam Minnee)
* 2020-10-28 [6e77d5ead](https://github.com/silverstripe/silverstripe-framework/commit/6e77d5eada39bae6a0d310439a3a18667e1e91b2) DataObject related objects service (Steve Boyd)
* 2020-08-29 [08010d593](https://github.com/silverstripe/silverstripe-framework/commit/08010d5933a2ecce32890e92ce8b2bf8764934ac) Support namespace tokens in ClassInfo::parse_class_spec() (Garion Herman)
* 2020-08-27 [699913406](https://github.com/silverstripe/silverstripe-framework/commit/699913406be6ecc385a63039cc6d20048148f561) Added a dev view to output the current config from dev/config (#9542) (Jackson Darlow)
* 2020-08-26 [680adbd10](https://github.com/silverstripe/silverstripe-framework/commit/680adbd10b76656cc358e30e06f6b487db76f2f8) Add recipe-core to default VersionProvider module list (Garion Herman)
* 2020-08-11 [e19ef240f](https://github.com/silverstripe/silverstripe-framework/commit/e19ef240f72f0b0c4dd8b4a43628f95d82a53a9d) VersionProvider now supports recipes as well as modules (Steve Boyd)
* 2019-08-02 [f57d5cc80](https://github.com/silverstripe/silverstripe-framework/commit/f57d5cc807b37f59d6e849d26e8a24a86cca0a14) Test coverage for MySQL connection collation (Serge Latyntcev)
* 2019-06-14 [4d5d7a34a](https://github.com/silverstripe/silverstripe-framework/commit/4d5d7a34a15d638ba51d42b0d3ef756106d4f424) Add FilterInterface and retrofit into URLSegmentFilter (Robbie Averill)
* 2019-04-14 [91591373d](https://github.com/silverstripe/silverstripe-framework/commit/91591373d64296c3a3981d23f09b4204759ea0b1) Add exists as a method to the DataQuery API that will generate an SQL "exists" query (Guy Marriott)
* 2020-09-22 [1921110](https://github.com/silverstripe/silverstripe-mimevalidator/commit/1921110814d96688cc7ca4d0afbcad7609018947) Confirm support for PHP8 (Sam Minnee)
* 2020-10-29 [f40bbdc](https://github.com/silverstripe/silverstripe-admin/commit/f40bbdc353c57733067033165c49163f21ac31f7) Improved file used on table data (Steve Boyd)
* 2020-09-25 [cc4db4b](https://github.com/silverstripe/silverstripe-admin/commit/cc4db4b645a034ba596d9629f1e59fa9e1d0c2f9) Replace E_USER_ERROR errors with exceptions (Robbie Averill)
* 2020-09-23 [ba2aad5](https://github.com/silverstripe/silverstripe-admin/commit/ba2aad5feb3c06cd480699f93316cb09c2f321bc) Show icons on tabs with invalid form field values (Steve Boyd)
* 2020-09-23 [70afbc9](https://github.com/silverstripe/silverstripe-admin/commit/70afbc9e2087313f2503f23743b2daf240f6fa9d) Confirm PHP 8 support (Sam Minnee)
* 2018-12-07 [b57dcfb](https://github.com/silverstripe/silverstripe-admin/commit/b57dcfbd6ec39b0fac828d7f95d74afd0afdfb80) Allow descriptions to be added as titles on SingleSelectField (Guy Marriott)
* 2020-11-01 [29e08365](https://github.com/silverstripe/silverstripe-asset-admin/commit/29e08365856bd472c01d9fa1931b2742776ba640) Exclude FileLink's using a different extension hook (#1139) (Steve Boyd)
* 2020-10-15 [b17f5fda](https://github.com/silverstripe/silverstripe-asset-admin/commit/b17f5fda42fbc740fdee01a7cdb8627c1f04a2f6) Switch to using toast instead of form alerts (#1111) (Maxime Rainville)
* 2020-05-26 [5269e9d9](https://github.com/silverstripe/silverstripe-asset-admin/commit/5269e9d96642074faab70490e1fd55c41f7416e8) Last modified date for assets in list view table are now formatted according to browser locale (Robbie Averill)
* 2020-10-14 [481546a](https://github.com/silverstripe/silverstripe-versioned-admin/commit/481546a7a1a1039b8b91a0125d5487c2a7ec9fd8) Extension to exclude ChangeSetItem from used on table (Steve Boyd)
* 2020-09-25 [d17f0586](https://github.com/silverstripe/silverstripe-cms/commit/d17f058622c24f008a3a22e2946f71dc352bafaa) Replace E_USER_ERROR errors with exceptions (Robbie Averill)
* 2020-08-25 [ed73b827](https://github.com/silverstripe/silverstripe-cms/commit/ed73b827356bf05133ce459ef8b9c5cb1f2f71b5) Set VersionedProvider labels for recipe-core and recipe-cms (Steve Boyd)
* 2020-09-25 [4bf71d3](https://github.com/silverstripe/silverstripe-versioned/commit/4bf71d35cd228b4bc0461f7d5b4488155574c98f) Replace E_USER_ERROR errors with exceptions (Robbie Averill)
* 2020-09-14 [b17eb61](https://github.com/silverstripe/silverstripe-versioned/commit/b17eb61690c3fbe8d4a896c77047d6b396fb6cb8) Extension points for isOnDraft() and isPublished(). (Mojmir Fendek)
* 2020-08-20 [732d448](https://github.com/silverstripe/silverstripe-versioned/commit/732d448c69effaa9eedd8a8ffb15e70a6640a7f1) Show the type of save that was performed for the record instead of just showing either Saved/Published. (#279) (Andre Kiste)
* 2020-08-16 [a3b5ab5](https://github.com/silverstripe/silverstripe-versioned/commit/a3b5ab53658fe37f56d2594e47095086bb3f8501) Add test for stateless semantics of isDraft and isPublished (Sam Minnee)
* 2020-07-23 [65befd0](https://github.com/silverstripe/silverstripe-versioned/commit/65befd0642042a808bc3f08353ab7d77af793eaf) Extension points for version lookup. (Mojmir Fendek)
* 2020-08-27 [a7416f1](https://github.com/silverstripe/silverstripe-login-forms/commit/a7416f10fef93443f6d19b44715a50abab2916dc) Prevent using Page_Controller Requirements (Steve Boyd)
* 2020-02-17 [2b3f986](https://github.com/silverstripe/silverstripe-login-forms/commit/2b3f98626765693be32a20f3a36aa5765cf4ae25) Make dark mode support optional (Elliot Sawyer)
* 2020-09-21 [6035ccd](https://github.com/silverstripe/silverstripe-installer/commit/6035ccd6897d069f1314b30c71b3c824f5dcc9c9) Add redirects to `public/` for iis (#263) (Manuel Thalmann)
* 2020-09-10 [80d1bdf](https://github.com/silverstripe/silverstripe-installer/commit/80d1bdf621e3923b90ec7fa66391a0ee107e78be) Don't include the .cow folders in releases (Maxime Rainville)
* 2020-05-27 [27231bf](https://github.com/silverstripe/silverstripe-installer/commit/27231bf315ca5f592ac79e59ca84325d21923a76) Treat login-forms as a core module (Maxime Rainville)
* 2020-06-29 [d609c02](https://github.com/silverstripe/recipe-core/commit/d609c02d78309dbc376e4edcfc0580eae8a6ae3f) Revert "Disable uneeded File ID Helper on new project" (#59) (Maxime Rainville)
* 2020-02-18 [eca0e24](https://github.com/silverstripe/silverstripe-config/commit/eca0e24efec2c14fb805b63e855772c98a16627f) Drop uppercase S in Composer requirements (Garion Herman)
* 2020-02-18 [671bb6e](https://github.com/silverstripe/silverstripe-config/commit/671bb6e2322800dc590776dce1f2fcefe990419a) Remove composer extra composer key (Maxime Rainville)
* silverstripe/framework (4.6.2 -> 4.7.0-rc1)
* 2020-10-23 [e89ae93ac](https://github.com/silverstripe/silverstripe-framework/commit/e89ae93ac9a236f6e1ba3a14392406980062b7de) Harden hasMethod() against invalid values (Garion Herman)
* 2020-10-08 [c5d676fa4](https://github.com/silverstripe/silverstripe-framework/commit/c5d676fa4e1d37fa4d940b97adb7f2ad80acdbb8) Avoid test failure on use of narrow-NBSP (#9725) (Sam Minnée)
* 2020-10-06 [198b25c90](https://github.com/silverstripe/silverstripe-framework/commit/198b25c9002160596a47357fd79fff2c55fdd888) Hardcode PasswordValidator config in VersionedMemberAuthenticatorTest (Garion Herman)
* 2020-09-30 [8ad4c4e02](https://github.com/silverstripe/silverstripe-framework/commit/8ad4c4e02484b532724d39a75c83f36372cc74b8) Fix namespace parsing under PHP 8, tweak readability of parser (Garion Herman)
* 2020-09-18 [8b3ef8f85](https://github.com/silverstripe/silverstripe-framework/commit/8b3ef8f85ae7a738fa2e8cfe217aca6274477117) recipe-testing is only needed for behat. (Sam Minnee)
* 2020-09-15 [acce4c4ce](https://github.com/silverstripe/silverstripe-framework/commit/acce4c4ce7cf4b42cfa4d33a115825e713d4cd78) Remove old boostrap 3 CSS class (Maxime Rainville)
* 2020-09-11 [2143660c3](https://github.com/silverstripe/silverstripe-framework/commit/2143660c3f371883e2e870f8e953d0ccae0c568e) Add class_exists() guards to SapphireTest (Sam Minnee)
* 2020-09-10 [ac6f34846](https://github.com/silverstripe/silverstripe-framework/commit/ac6f34846e013c3067721894583399024f222376) Resolve issue where TreeMultiSelectField would error loading its value (#9604) (Damian Mooyman)
* 2020-09-10 [8bcfa5734](https://github.com/silverstripe/silverstripe-framework/commit/8bcfa57342ecd716273e55de75b50e0ad656196e) Make PasswordEncryptor::check more resistent to timing attacks (Maxime Rainville)
* 2020-09-10 [acdebcdba](https://github.com/silverstripe/silverstripe-framework/commit/acdebcdba7a7176f10aad345770fd88e028c4b1b) Fix unit test (Maxime Rainville)
* 2020-09-10 [02827a667](https://github.com/silverstripe/silverstripe-framework/commit/02827a66700f3a1d05ffb4065d1e664da94ee49e) Problem with direct compare in SELECT statement causing incompatibility with SQL Server database (Steve Boyd)
* 2020-09-09 [27c1c7291](https://github.com/silverstripe/silverstripe-framework/commit/27c1c72912b04b8c64cd8418c6bfcb0c3e65c990) ModuleManifest::getModuleByPath fix to ensure right module is returned (#9569) (Nicolaas)
* 2020-08-30 [fb9e6e51a](https://github.com/silverstripe/silverstripe-framework/commit/fb9e6e51a69274a3885a6c65574ea467e44082ed) Switch to sminnee fork of phpunit 5.7 (Sam Minnee)
* 2020-08-30 [57bdef3b2](https://github.com/silverstripe/silverstripe-framework/commit/57bdef3b2e7cba284bfe0ff2cb798b70c995ca41) Fix test mistakenly labelling content as name arguments in data provider (Sam Minnee)
* 2020-08-30 [09fb33e65](https://github.com/silverstripe/silverstripe-framework/commit/09fb33e657607844cbb9a42c306bc4ce5bd383b7) Avoid passing non-class to get_parent_class() (Sam Minnee)
* 2020-08-29 [622cf8b91](https://github.com/silverstripe/silverstripe-framework/commit/622cf8b914b1ca35ba379ecd55179632bd824b6c) Drop parameter names in Injector instantiation to preserve behaviour in PHP 8 (Sam Minnee)
* 2020-08-06 [896c0e438](https://github.com/silverstripe/silverstripe-framework/commit/896c0e4388c7ee959f82268de654eeb960329644) Use proper ellipsis character in the various summary method. (Maxime Rainville)
* 2020-08-06 [0ed40e9b0](https://github.com/silverstripe/silverstripe-framework/commit/0ed40e9b0effc54fc56075683f7b8c128ca48d78) only use HTTPS link on the default controller template (Maxime Rainville)
* 2020-07-03 [3bf89b2d1](https://github.com/silverstripe/silverstripe-framework/commit/3bf89b2d13bf882803f5f5409284c76b41166c6c) Try Catch for embeded media (#9424) (rdigitalg)
* 2019-08-26 [01d3b4fd9](https://github.com/silverstripe/silverstripe-framework/commit/01d3b4fd96cb9e6e5b2fa52a7de6067d90326dc4) Set many-many-through joinRecord on newly added records. (Sam Minnee)
* 2019-04-26 [3575070b9](https://github.com/silverstripe/silverstripe-framework/commit/3575070b9d44472555606a4fbabfb5d011b69c29) Removing selected column detail only if having is empty (MySQL "feature") (Guy Marriott)
* 2019-04-17 [f9fc4f664](https://github.com/silverstripe/silverstripe-framework/commit/f9fc4f66415cc477a1f560237ca5965277c5a8d7) Allow for BC for DB adapters that return an actual boolean when selecting boolean literals in SQL (Guy Marriott)
* 2019-04-16 [ef0af7ae9](https://github.com/silverstripe/silverstripe-framework/commit/ef0af7ae9c129e8e12e9c3660d3d52114e9b7cf3) Exists statements can't remove GROUP BY if there's a HAVING clause as it might rely on an aggregate (Guy Marriott)
* 2019-03-08 [bca0f28b6](https://github.com/silverstripe/silverstripe-framework/commit/bca0f28b62c624c3450c35ea98a4f7fc87e0b1fe) Make template parser error on mismatched brackets (fixes #8845) (Loz Calver)
* 2020-11-10 [5d179b7](https://github.com/silverstripe/silverstripe-admin/commit/5d179b734ed1f97a0f3c853e29539e971c6988f5) Change selector used for min-width for updated popover (Steve Boyd)
* 2020-10-28 [15efb09](https://github.com/silverstripe/silverstripe-admin/commit/15efb092ba1d736f8cfa9a6874dae3a225833379) Hide TabNav when only one Tab is present (Maxime Rainville)
* 2020-10-20 [2fcac0a](https://github.com/silverstripe/silverstripe-admin/commit/2fcac0a7ff2b8819a0518789fd7a85da0f633189) Adjust search form widths to prevent date cutoff (Steve Boyd)
* 2020-10-19 [7727d10](https://github.com/silverstripe/silverstripe-admin/commit/7727d10e46b775fcda8c7165a18a65cb974bea46) Patch Entwine to ignore missing methods in one() (Garion Herman)
* 2020-09-21 [60482f9](https://github.com/silverstripe/silverstripe-admin/commit/60482f99115e83121511f88b16d35a6a761b50c6) Temporary fix to use the most up-to-date version of chromedriver (#1114) (Maxime Rainville)
* 2020-06-16 [f67766b](https://github.com/silverstripe/silverstripe-admin/commit/f67766bb512910c78751c0b15f637858493064e3) Ensure graphql URL is inserted before admin (Sam Minnee)
* 2020-05-01 [0e89d48](https://github.com/silverstripe/silverstripe-admin/commit/0e89d48f281c58ac048b040f9c9db454bf60393d) Fix URL anchors not selecting tabs (bergice)
* 2019-03-29 [da65083](https://github.com/silverstripe/silverstripe-admin/commit/da65083957d10ee0a0c9681a6764f3d126f2432e) Minor improvement to SingleSelectField story (Maxime Rainville)
* 2020-11-10 [b44732fd](https://github.com/silverstripe/silverstripe-asset-admin/commit/b44732fddd47ea0802b159c74eac51475aaa810b) Alter the key when a file is selected so it is re-rendered by Griddle (#1159) (Maxime Rainville)
* 2020-11-10 [557c472a](https://github.com/silverstripe/silverstripe-asset-admin/commit/557c472ad3b75177e14c41c85237c80df7ab4376) Restore filters in the file search (Maxime Rainville)
* 2020-11-03 [f49db3fa](https://github.com/silverstripe/silverstripe-asset-admin/commit/f49db3faa0b13a356f8dcac5069a7b3c99c75a90) Only exclude Folders from the used on table instead of all Files (Steve Boyd)
* 2020-10-20 [a452e79d](https://github.com/silverstripe/silverstripe-asset-admin/commit/a452e79d14af6c4b3474ef4faeea09c3fbf9c5c4) Escape % to work with Symhony 4 (Maxime Rainville)
* 2020-09-16 [33b0003b](https://github.com/silverstripe/silverstripe-asset-admin/commit/33b0003b8fc65d88585c902c53d9b811a14038bf) Strip html tags from file upload error responses (Steve Boyd)
* 2020-08-13 [754b4058](https://github.com/silverstripe/silverstripe-asset-admin/commit/754b4058c86e4a55c0dcd8aa3e6d1776fafc3177) Top margin adjustment for file link insert message (Steve Boyd)
* 2020-07-28 [eee32b6e](https://github.com/silverstripe/silverstripe-asset-admin/commit/eee32b6ea6fdf512b928580a5f89a4fdb4bc4bd2) Make the file upload progressbar smooth (Maxime Rainville)
* 2020-08-14 [d2312ac](https://github.com/silverstripe/silverstripe-campaign-admin/commit/d2312ac94ab83f2278d7e3ff360480deb7ce338c) Show Untitled when blank title (Steve Boyd)
* 2020-07-19 [9a06d33](https://github.com/silverstripe/silverstripe-campaign-admin/commit/9a06d33a547533976f239e197545fa5cef8a88ff) Add links to userhelp (Steve Boyd)
* 2020-09-10 [fa4908a](https://github.com/silverstripe/silverstripe-versioned-admin/commit/fa4908a0fadb297db57297f1a1f0c65167125e38) UI related changes moved from Versioned to Versioned Admin. (Mojmir Fendek)
* 2020-09-03 [53b24ff](https://github.com/silverstripe/silverstripe-versioned-admin/commit/53b24ff9bee3631fb76e7b7d5fedf134b68c50a4) Prevent exception when parent does not have breadcrumbs (Steve Boyd)
* 2020-08-18 [afc460c](https://github.com/silverstripe/silverstripe-versioned-admin/commit/afc460c8e7a225197bc19a82ca7591853089b299) Reorder model tabs (Steve Boyd)
* silverstripe/cms (4.6.0 -> 4.7.0-rc1)
* 2020-10-21 [f9c26cef](https://github.com/silverstripe/silverstripe-cms/commit/f9c26cefa36ac4a78353c910831c120f6fa5a96e) Fix parsing error on CMSSiteTreeFilter (Maxime Rainville)
* 2020-10-20 [8a16d708](https://github.com/silverstripe/silverstripe-cms/commit/8a16d708d41c33b7c4cb02587d750e61ee51a40c) Use Live stage to fetch results during SearchFormTest (Garion Herman)
* 2020-10-20 [96281e71](https://github.com/silverstripe/silverstripe-cms/commit/96281e712deb80cd004eea905ed3b066f6929e09) Escape % to work with Symhony 4 (Maxime Rainville)
* 2020-10-15 [aaf4fb4d](https://github.com/silverstripe/silverstripe-cms/commit/aaf4fb4d7aeaee0760bd3d713d12b3fbea3a0d69) Remove broken RESOURCES_DIR test (Maxime Rainville)
* 2020-10-12 [73460f9e](https://github.com/silverstripe/silverstripe-cms/commit/73460f9ee0014acf0817e737197de7df899ecf3c) remove old syntax from meta tag label (brynwhyman)
* 2020-08-06 [31fa2624](https://github.com/silverstripe/silverstripe-cms/commit/31fa262475fcfbfedcdbea0bbe292b0fe319c0ec) Honour URL suffix on URL Segment field (Maxime Rainville)
* silverstripe/versioned (1.6.2 -> 1.7.0-rc1)
* 2020-09-29 [3bcc569](https://github.com/silverstripe/silverstripe-versioned/commit/3bcc5690543e46e0f13d5cfa966f6a4fd2bcccb5) Remove canPublish check for users to see unpublish button (fixes #300) (Loz Calver)
* 2020-09-10 [fc9bf93](https://github.com/silverstripe/silverstripe-versioned/commit/fc9bf93635db4e228cbdbbc3e38b36c93faee4cc) UI related changes moved from Versioned to Versioned Admin. (Mojmir Fendek)
* 2020-08-16 [6175786](https://github.com/silverstripe/silverstripe-versioned/commit/6175786029f2713889f6e665a4115b30fc38c645) Decouple test setup. (Sam Minnee)
* 2020-08-13 [624edbe](https://github.com/silverstripe/silverstripe-versioned/commit/624edbe0ba6a194231337fbc70b10411485d2556) Consistent timestamp fix for versions during publish recursive. (#292) (Mojmir Fendek)
* 2020-07-06 [c32cba5](https://github.com/silverstripe/silverstripe-versioned/commit/c32cba50eb17a2ee69379a37eaaf6423cd91d746) Fix semantics of isPublished(), isArchived(), isOnDraft() for objects without draft/published stages (Sam Minnee)
* 2020-03-16 [5e2c9db](https://github.com/silverstripe/silverstripe-login-forms/commit/5e2c9db13913aca51e149fbfc088d343e8588155) Use `.silverstripe-cms-logo` in place of `svg` to target logo (Garion Herman)
* 2020-09-17 [ff18dec2e](https://github.com/silverstripe/silverstripe-framework/commit/ff18dec2e58a0e733aaff27bd5251474366c08d4) Add new behat method for interacting with toasts (#9695) (Maxime Rainville)
* 2020-08-20 [b810b7d5c](https://github.com/silverstripe/silverstripe-framework/commit/b810b7d5c9acdceda25ca915f0de6ebecce904a8) Allow for user-created objects to have values passed in the constructor (#8591) (Sam Minnée)
* silverstripe/admin (1.6.1 -> 1.7.0-rc1)
* 2020-10-02 [e21ad30](https://github.com/silverstripe/silverstripe-admin/commit/e21ad304e52c29672f38cdb0b7164f92694c3c9a) Introduce hooks to help components figure out what tab they are in. (Maxime Rainville)
* 2020-10-16 [58ed097](https://github.com/silverstripe/silverstripe-admin/commit/58ed097a73a3ab2e92b0ce7c09682c0ef4258e47) Bump npm-user-validate from 1.0.0 to 1.0.1 (dependabot[bot])
* 2020-09-04 [d8a235d](https://github.com/silverstripe/silverstripe-admin/commit/d8a235d03d8a0908049b6095028196ace0641b90) Bump handlebars from 4.5.1 to 4.7.6 (dependabot[bot])
* 2020-07-30 [ac1ed29](https://github.com/silverstripe/silverstripe-admin/commit/ac1ed29d24aad0b05a4e5b95dbb7613c009f4752) Bump elliptic from 6.5.1 to 6.5.3 (dependabot[bot])
* 2020-07-16 [8391518](https://github.com/silverstripe/silverstripe-admin/commit/839151850f98b2ea148ef57447cf4dfe9ae532a4) Bump lodash from 4.17.15 to 4.17.19 (dependabot[bot])
* 2020-07-07 [f9144e5](https://github.com/silverstripe/silverstripe-admin/commit/f9144e57e6160f3b75ef3f440b2d3ca027b39b72) Bump npm from 6.13.4 to 6.14.6 (dependabot[bot])
* 2020-07-07 [5c92864](https://github.com/silverstripe/silverstripe-admin/commit/5c9286467bb5eb2901c179c61a59a520b1a52685) Bump npm-registry-fetch from 4.0.2 to 4.0.5 (dependabot[bot])
* 2020-06-26 [66da669](https://github.com/silverstripe/silverstripe-admin/commit/66da669cb9bc7378581ee6b56bdf3e418f709526) Bump websocket-extensions from 0.1.3 to 0.1.4 (#1052) (dependabot[bot])
* 2020-07-30 [4867a9a6](https://github.com/silverstripe/silverstripe-asset-admin/commit/4867a9a643fbe27b48dab74a0877353670026708) Bump elliptic from 6.5.2 to 6.5.3 (dependabot[bot])
* 2020-07-16 [7ec0a1dc](https://github.com/silverstripe/silverstripe-asset-admin/commit/7ec0a1dc45f339c308024b0112db7a4fd1682130) Bump lodash from 4.17.15 to 4.17.19 (dependabot[bot])
* 2020-07-07 [ad52ce68](https://github.com/silverstripe/silverstripe-asset-admin/commit/ad52ce68b4669181d10d4859a2a4078ae343e727) Bump npm from 6.14.5 to 6.14.6 (dependabot[bot])
* 2020-06-30 [5f4cfe1c](https://github.com/silverstripe/silverstripe-asset-admin/commit/5f4cfe1cfcdd3b4fdf9ccba284f812a3790a517d) Bump websocket-extensions from 0.1.3 to 0.1.4 (dependabot[bot])
* 2020-04-30 [f635a954](https://github.com/silverstripe/silverstripe-asset-admin/commit/f635a95474395a149ef02927da37dbad961a8f2d) Bump jquery from 3.4.1 to 3.5.0 (dependabot[bot])
* 2020-10-16 [c0513b2](https://github.com/silverstripe/silverstripe-campaign-admin/commit/c0513b216e96e5ab824ed2ba72482aefba35e1ed) Bump npm-user-validate from 1.0.0 to 1.0.1 (dependabot[bot])
* 2020-09-04 [c800564](https://github.com/silverstripe/silverstripe-campaign-admin/commit/c8005641ce34f9f058912d05904faff7bc67f4ef) Bump npm from 6.13.4 to 6.14.8 (dependabot[bot])
* 2020-09-04 [2c07c2e](https://github.com/silverstripe/silverstripe-campaign-admin/commit/2c07c2e081e87fabb5b10459694a87229830ed4b) Bump npm-registry-fetch from 4.0.2 to 4.0.7 (dependabot[bot])
* 2020-09-04 [5c4789e](https://github.com/silverstripe/silverstripe-campaign-admin/commit/5c4789eb8f7de97571c702ecf6b01370d18ad801) Bump node-sass from 4.13.0 to 4.14.1 (dependabot[bot])
* 2020-09-04 [5480bd4](https://github.com/silverstripe/silverstripe-campaign-admin/commit/5480bd4a4530a053af27e513d01f669d15504e27) Bump lodash from 4.17.15 to 4.17.20 (dependabot[bot])
* 2020-07-30 [1bda667](https://github.com/silverstripe/silverstripe-campaign-admin/commit/1bda6670c34c1a35188841145a7f0c3bc5fdbe61) Bump elliptic from 6.5.1 to 6.5.3 (dependabot[bot])
* 2020-10-16 [6e3edbb](https://github.com/silverstripe/silverstripe-versioned-admin/commit/6e3edbb0b59ccb8c137182ffb14246cc84b571c2) Bump npm-user-validate from 1.0.0 to 1.0.1 (dependabot[bot])
* 2020-09-06 [135bd01](https://github.com/silverstripe/silverstripe-versioned-admin/commit/135bd01f032d420b2c23d75b071241594c57fb2b) Bump handlebars from 4.5.1 to 4.7.6 (dependabot[bot])
* 2020-06-06 [ecd14d8](https://github.com/silverstripe/silverstripe-versioned-admin/commit/ecd14d8b754d0c66cea0b415c123cbadbce9d7e8) Bump websocket-extensions from 0.1.3 to 0.1.4 (dependabot[bot])
* silverstripe/cms (4.6.0 -> 4.7.0-rc1)
* 2020-10-16 [072d14e8](https://github.com/silverstripe/silverstripe-cms/commit/072d14e8aefa374d7b6fccfc994e86b487f7ccf2) Bump npm-user-validate from 1.0.0 to 1.0.1 (dependabot[bot])
* 2020-09-05 [b7a49f0f](https://github.com/silverstripe/silverstripe-cms/commit/b7a49f0f30c0c6b0a84f49bf07608efc46afa3e4) Bump handlebars from 4.5.1 to 4.7.6 (dependabot[bot])
* 2020-09-04 [879ec42e](https://github.com/silverstripe/silverstripe-cms/commit/879ec42e2596769b56cd1b0eb95873449778b530) Bump node-sass from 4.13.0 to 4.14.1 (dependabot[bot])
* 2020-07-30 [d20c2863](https://github.com/silverstripe/silverstripe-cms/commit/d20c28633cae125792e5cacd06b1695c3565bc98) Bump elliptic from 6.5.1 to 6.5.3 (dependabot[bot])
* 2020-07-16 [bffe16f6](https://github.com/silverstripe/silverstripe-cms/commit/bffe16f6e64685baf472358376de15d3189e1579) Bump lodash from 4.17.15 to 4.17.19 (dependabot[bot])
* 2020-07-07 [3cf5cbee](https://github.com/silverstripe/silverstripe-cms/commit/3cf5cbee6d0c575d9cab3e147f01d6c175799380) Bump npm from 6.13.4 to 6.14.6 (dependabot[bot])
* silverstripe/versioned (1.6.2 -> 1.7.0-rc1)
* 2020-09-04 [07c7885](https://github.com/silverstripe/silverstripe-versioned/commit/07c78853934ae1c45bbfd298c9b0426f9f517403) Bump node-sass from 4.11.0 to 4.14.1 (dependabot[bot])
* 2020-08-01 [8fd7345](https://github.com/silverstripe/silverstripe-versioned/commit/8fd7345ec0ec81b09df6ffd8baa2abff9f12099a) Bump elliptic from 6.4.1 to 6.5.3 (dependabot[bot])
* 2020-07-19 [37a7024](https://github.com/silverstripe/silverstripe-versioned/commit/37a7024c9db53009d31aa00c1be47cc62f30bf4b) Bump lodash from 4.17.15 to 4.17.19 (dependabot[bot])
* 2020-07-07 [0a30d28](https://github.com/silverstripe/silverstripe-versioned/commit/0a30d28f94a4cfe25b252af0600474b3269fee3b) Bump npm from 6.13.7 to 6.14.6 (dependabot[bot])
* 2020-10-16 [d2b572b](https://github.com/silverstripe/silverstripe-login-forms/commit/d2b572b365d2180081fa7bc010ba5da113c130ca) Bump npm-user-validate from 1.0.0 to 1.0.1 (dependabot[bot])
* 2020-09-04 [ebcba46](https://github.com/silverstripe/silverstripe-login-forms/commit/ebcba467fd336308598cf2c992a2a5a595548d22) Bump node-sass from 4.11.0 to 4.14.1 (dependabot[bot])
* 2020-09-04 [3c97760](https://github.com/silverstripe/silverstripe-login-forms/commit/3c97760e4d425ca7b1effbadc9f9e5dce2e58160) Bump lodash.mergewith from 4.6.1 to 4.6.2 (dependabot[bot])
* 2020-07-30 [16194f2](https://github.com/silverstripe/silverstripe-login-forms/commit/16194f28134b6f4d2dfdc321c5de23d292a07515) Bump elliptic from 6.4.1 to 6.5.3 (dependabot[bot])
* 2020-07-16 [211f5a3](https://github.com/silverstripe/silverstripe-login-forms/commit/211f5a3bd05205a1bb9cc33114d412a392ef8c0f) Bump lodash from 4.17.11 to 4.17.19 (dependabot[bot])
* 2020-07-07 [9f83601](https://github.com/silverstripe/silverstripe-login-forms/commit/9f83601d15d359b9e68b036344b79892320d4a03) Bump npm from 6.13.4 to 6.14.6 (dependabot[bot])
* 2020-06-30 [b71bb53](https://github.com/silverstripe/silverstripe-login-forms/commit/b71bb537b8536ebf0778d4d5b45ac8440d2eb9f3) Bump mixin-deep from 1.3.1 to 1.3.2 (dependabot[bot])
* 2019-12-13 [ec292b3](https://github.com/silverstripe/silverstripe-login-forms/commit/ec292b367fcc12e0869e2282203dbf8f97385b6d) Bump npm from 6.9.0 to 6.13.4 (dependabot[bot])
* 2020-08-26 [d76bd7d](https://github.com/silverstripe/silverstripe-installer/commit/d76bd7d66e0ef224e6e6fcdf7b9a3e8f716a813b) more information in changelog template (brynwhyman)
* silverstripe/framework (4.6.2 -> 4.7.0-rc1)
* 2020-11-03 [4d0dc9176](https://github.com/silverstripe/silverstripe-framework/commit/4d0dc9176b8e1cdd3a2e29ab94dde924466c985a) Document nullable DataObject in used on table extension guide (#9755) (Steve Boyd)
* 2020-10-09 [1837c1983](https://github.com/silverstripe/silverstripe-framework/commit/1837c19833760e926a6daddc1616430d92e1dec2) Add note about creating provisional changelogs following minor releases (Garion Herman)
* 2020-09-10 [2753f823e](https://github.com/silverstripe/silverstripe-framework/commit/2753f823ee01f9819d97eece839c2452ef124802) Added a tip to docs describing how to set a cookie for less than a day (#9552) (Jackson Darlow)
* 2020-08-13 [fb5bec58a](https://github.com/silverstripe/silverstripe-framework/commit/fb5bec58a5285af8f490d9167016dfa9e55d6352) Drop broken syntax from Overview header in 4.6.1 changelog (Garion Herman)
* 2020-08-05 [9f94c739c](https://github.com/silverstripe/silverstripe-framework/commit/9f94c739c10cc1c6a423acb852794e69ac8fc879) Correct the example for getters/setters (Maxime Rainville)
* 2020-07-29 [b6169a87c](https://github.com/silverstripe/silverstripe-framework/commit/b6169a87c29af84e45422df252e972ddf8cdd37e) HTTP header in server requirements (Ingo Schommer)
* 2020-07-23 [5fb7ef0bc](https://github.com/silverstripe/silverstripe-framework/commit/5fb7ef0bcf5f155fae7e20561e13970032d432a6) Remove links to common problems (Aaron Carlino)
* 2020-07-21 [b96133651](https://github.com/silverstripe/silverstripe-framework/commit/b96133651b9dfb702464d722394b7cec5b751cbe) PHP 7.4 support (brynwhyman)
* 2020-07-21 [8f1167b45](https://github.com/silverstripe/silverstripe-framework/commit/8f1167b4539c97f34ec55e3634a0153bcbc44eb1) add a 4.6.0 known regression (#9603) (Serge Latyntsev)
* 2020-07-07 [ec58dad05](https://github.com/silverstripe/silverstripe-framework/commit/ec58dad051d8ac1c24bf68df29eb36cb68b8227b) add 3.7.4 changelog to `4` (brynwhyman)
* 2020-07-03 [92f4f1fa1](https://github.com/silverstripe/silverstripe-framework/commit/92f4f1fa15a1efe567dfe77b25aa09b64d9331c3) Update PHP support info (Patrick Nelson)
* 2020-07-01 [6446b50c4](https://github.com/silverstripe/silverstripe-framework/commit/6446b50c4a676eae6fe9209bea567eb82d0cba74) Add Cheddam to the core committers (Robbie Averill)
* 2020-06-30 [87c041b92](https://github.com/silverstripe/silverstripe-framework/commit/87c041b92d6848c16e9c046248c1f13a578281f5) Add extra information on how to customise a file HTTP response (Maxime Rainville)
* 2020-06-29 [993f1fd75](https://github.com/silverstripe/silverstripe-framework/commit/993f1fd75444f81756a5de2f31b90ab43e79f4db) Add details about the recommended community support options (Guy Marriott)
* 2020-06-02 [a2bdd1ca8](https://github.com/silverstripe/silverstripe-framework/commit/a2bdd1ca82ce07b321b90c937702fb5edad31d6d) fix broken link in changelog (brynwhyman)
* 2020-05-28 [4303917ac](https://github.com/silverstripe/silverstripe-framework/commit/4303917ac55ae1a8272e268f392733ea33ab2919) Form::loadDataFrom constants in docblock (Christopher Darling)
* 2020-05-28 [44776a0e3](https://github.com/silverstripe/silverstripe-framework/commit/44776a0e3e713361537a90471c8cdc24e7cddba4) Add file status icons to change log (#9522) (Steve Boyd)
* 2020-05-27 [0f5c5d14c](https://github.com/silverstripe/silverstripe-framework/commit/0f5c5d14c2f327ec94c3400bbb05d716eeced883) Show beta changelogs on doc site (#9523) (Maxime Rainville)
* 2019-10-07 [4ee710276](https://github.com/silverstripe/silverstripe-framework/commit/4ee7102761bdb2e32f867de527ae4f305def7a45) Update breadcrumb template in theme rather than app. (Maxime Rainville)
* 2020-06-29 [4782e8e](https://github.com/silverstripe/silverstripe-mimevalidator/commit/4782e8e0728a32ea7fa63f1400051c511987b72e) Detail that mimevalidator is now a part of core (#40) (Serge Latyntsev)
* 2020-05-11 [04a45a7](https://github.com/silverstripe/silverstripe-mimevalidator/commit/04a45a771a6bc23a4cfa1b5b27d0cfcd2cc11e37) Move configration info to core documentation (Maxime Rainville)
* 2020-01-13 [be7e4c8](https://github.com/silverstripe/silverstripe-installer/commit/be7e4c8730b0458087c99bf97f6938f6599dd135) Set environment type in example (Michael Andrewartha)
* silverstripe/assets (1.6.1 -> 1.7.0-rc1)
* 2020-09-09 [6c17a60](https://github.com/silverstripe/silverstripe-assets/commit/6c17a60e2008f2c04d356237c3f0f831dfdc18de) BUGFIX handle files with no extension as if they are invalid (#346) (Andrew Aitken-Fincham)
* 2020-04-18 [6f1e559](https://github.com/silverstripe/silverstripe-assets/commit/6f1e5594319f92b74037c98d96bd82573fa6ef2b) Update debug message wording as moved files are not always thumbnails (Michal Kleiner)
* 2019-10-08 [a64296f](https://github.com/silverstripe/silverstripe-assets/commit/a64296fa1934893a3c37f8fa0f32f23eba835426) Do not display records with `hide_in_campaigns` config set to `true` in the `Used On` table of files (bergice)
* silverstripe/config (1.0.18 -> 1.1.0-rc1)
* 2020-04-25 [fc49324](https://github.com/silverstripe/silverstripe-config/commit/fc49324658d403ea11fb27bc8ed15a992ef1f9c2) Rename test file (Dan Hensby)
* 2017-12-10 [09eccb4](https://github.com/silverstripe/silverstripe-config/commit/09eccb44db1a68e02bba62c2dcce41c3c0ef8ddc) Feature Set .gitattributes to ignore docs and tests folder, and some source asset files which are not needed (Christopher Joe)
* 2020-10-02 [4d54a2110](https://github.com/silverstripe/silverstripe-framework/commit/4d54a2110f57ac1f311ffee07a5674a0170f9d82) Update spaces in syntax, single quotes, early returns where possible (Robbie Averill)
* 2020-09-26 [2042d1c6b](https://github.com/silverstripe/silverstripe-framework/commit/2042d1c6b03a88b2823990cf6bd2674d67de17ec) MINOR: Allow DevelopmentAdmin to have subclasses (#9702) (Aaron Carlino)
* 2020-09-25 [ae1e17ede](https://github.com/silverstripe/silverstripe-framework/commit/ae1e17edeca1334bf0d6ad459a2111fa1b96a09e) Update exception assertions in tests and remove deprecated annotations (Robbie Averill)
* 2020-09-25 [4e22277c6](https://github.com/silverstripe/silverstripe-framework/commit/4e22277c6966483a94984e0b63da1a921790372d) Add namespacing to YAML example (RuthAdele)
* 2020-06-29 [b4a3cc700](https://github.com/silverstripe/silverstripe-framework/commit/b4a3cc700a97a36bec44b6b1e162a943c95925f7) Fixes getCMSFields TabSet example (James Cocker)
* 2020-06-29 [00ee8d8ab](https://github.com/silverstripe/silverstripe-framework/commit/00ee8d8abf4ca0535eee55bb722ccc9ea41e9fec) BUGFIX: Re-declare $items to be an ArrayList if it's null (Tom Yrjas)
* 2020-06-29 [824b5e0b6](https://github.com/silverstripe/silverstripe-framework/commit/824b5e0b678669ca4144304d329e1cf9484175b5) BUGFIX: Ensure $items isn't null in GridFieldDetailForm_ItemRequest->Breadcrumbs() prior to performing operations on it. (Tom Yrjas)
* 2020-06-15 [7c95237e8](https://github.com/silverstripe/silverstripe-framework/commit/7c95237e8da29072b37ea6ca9452740263cc8688) update template docs, move deprecation to 5.0, capitalise Is (Andrew Aitken-Fincham)
* 2020-06-14 [dadac00c1](https://github.com/silverstripe/silverstripe-framework/commit/dadac00c1984416c00c4d5a9ec6f8cd0e0bdb561) Added array declaration to `GridFieldDetailForm_ItemRequest::$formActions` (Jackson Darlow)
* 2020-06-14 [1edd8fd75](https://github.com/silverstripe/silverstripe-framework/commit/1edd8fd7548e1e5ff30f12683fd39ed6b956e1cb) Added array declaration to `DevelopmentAdmin::$registered_controllers` (Jackson Darlow)
* 2020-06-14 [fcc7a9ce5](https://github.com/silverstripe/silverstripe-framework/commit/fcc7a9ce5b0436a5cf7996956332c8de4d2dc189) Added array declaration to `VersionProvider::$modules` (Jackson Darlow)
* 2020-06-12 [ae1a883b3](https://github.com/silverstripe/silverstripe-framework/commit/ae1a883b321c16fa565ebb691749de1c45479fd7) Added mention of Session.timeout to secure_coding docs (Jackson Darlow)
* 2020-06-12 [dfe8d23ff](https://github.com/silverstripe/silverstripe-framework/commit/dfe8d23ffc10b7b48633077dcb2e812fb0a03cf2) Added extra type-hints to DataExtension DocBlocks (Jackson Darlow)
* 2020-06-11 [bac826bc0](https://github.com/silverstripe/silverstripe-framework/commit/bac826bc06c826a89f56e3eb7e135b5b336e261a) deprecate First and Last in order to disambiguate for array lists (Andrew Aitken-Fincham)
* 2020-06-11 [2175de956](https://github.com/silverstripe/silverstripe-framework/commit/2175de9560ecfe441bf0d5b547e1f3bb49997b8d) Adjusted DataExtension DocBlocks to another degree of detail (Jackson Darlow)
* 2020-06-11 [0d6572a2d](https://github.com/silverstripe/silverstripe-framework/commit/0d6572a2d670ee416c5c18b0c03576b99d2955ad) Added DocBlocks to DataExtension methods (Jackson Darlow)
* 2020-06-11 [84235c651](https://github.com/silverstripe/silverstripe-framework/commit/84235c651837c3c4586328d6534a4db0af60dc3f) Adjusted missing definitions to only include definitions referenced by framework (Jackson Darlow)
* 2020-05-28 [d4165db69](https://github.com/silverstripe/silverstripe-framework/commit/d4165db690ddb3270478f7930efc33653b364baa) Update getter name to getCMSCompositeValidator (cpenny)
* 2020-05-27 [8ba65313e](https://github.com/silverstripe/silverstripe-framework/commit/8ba65313e9296ce53237808c6fa9c54734210cd7) Add internal note for protected method (cpenny)
* 2020-05-27 [2765b65f4](https://github.com/silverstripe/silverstripe-framework/commit/2765b65f42f6e7c4aeaa0183dbf399f41418bad2) Use ReflectionClass for CompositeValidator tests (cpenny)
* 2020-05-27 [bca4be77e](https://github.com/silverstripe/silverstripe-framework/commit/bca4be77ed68382b11c61e2e646c08f61c4e8a19) Update name to CompositeValidator. Add docblocks (cpenny)
* 2020-05-27 [dd9b8ecd1](https://github.com/silverstripe/silverstripe-framework/commit/dd9b8ecd1f72bd5ae6b26247fa07871de20083d0) Add a landing page for the beta changelogs (#9524) (Maxime Rainville)
* 2020-02-19 [a2b57f080](https://github.com/silverstripe/silverstripe-framework/commit/a2b57f08016d63b9c173517cb69c33d3a7e4b983) Update DefaultFormFactory extension point. Use array for validators (cpenny)
* 2020-02-18 [11e2005b9](https://github.com/silverstripe/silverstripe-framework/commit/11e2005b9ba30457b937c566e1c2cabba0112257) Add deprecation notice for 4.6 and update docs (cpenny)
* 2020-02-16 [f977f9734](https://github.com/silverstripe/silverstripe-framework/commit/f977f9734cccd4866d525b7f82cf1f05c0f7e682) Add base updateValidatorList method to DataExtension (cpenny)
* 2020-02-13 [b45a3561d](https://github.com/silverstripe/silverstripe-framework/commit/b45a3561df4c01003ffa784dc7de9a35ea96bcd6) Implemented PR feedback. Added some initial test cov (cpenny)
* 2020-02-12 [d7dd93f7a](https://github.com/silverstripe/silverstripe-framework/commit/d7dd93f7a7c4835393aa94563c3fa4e63fca25b9) Standardise getCMSValidator for DataObjects/Forms (cpenny)
* 2019-11-26 [83d495df2](https://github.com/silverstripe/silverstripe-framework/commit/83d495df2e672e5d4388da3dd1ce9047df51036b) Add check for existence of 'which' command before proceeding with the script (Tim Burt)
* 2020-05-19 [1f0a07c](https://github.com/silverstripe/silverstripe-mimevalidator/commit/1f0a07caf254fba6f247629817de6395dedf943d) Force installation of specific recipe version (Maxime Rainville)
* 2020-08-30 [83279de](https://github.com/silverstripe/silverstripe-admin/commit/83279deca4c4ff38fa966b909b0e471aff194854) Add tests for UsedOnTable (#957) (Andre Kiste)
* 2020-07-16 [5cf9fff](https://github.com/silverstripe/silverstripe-admin/commit/5cf9fffdf614faf19a5b82bf3813070ba3f58e24) Add BC support for getCMSValidator (cpenny)
* 2020-05-28 [3124677](https://github.com/silverstripe/silverstripe-admin/commit/3124677af2c84500f2c2c45b390d25a1002adc25) Method renamed to getCMSCompositeValidator (cpenny)
* 2020-05-27 [b7c63d4](https://github.com/silverstripe/silverstripe-admin/commit/b7c63d48a1456fe0cbd7c6357ef24af7b2aca12e) Rename ValidatorList to CompositeValidator (cpenny)
* 2020-02-18 [aa29a44](https://github.com/silverstripe/silverstripe-admin/commit/aa29a44159d409e831be23150229ae46378dd33f) Replace getCMSValidator usages with new framework method getValidatorList (cpenny)
* 2020-08-20 [68e6821](https://github.com/silverstripe/silverstripe-versioned-admin/commit/68e6821a65ba0975a48a8d4998a8ad607c058856) Show the type of save that was performed for the record instead of just showing either Saved/Published. (#160) (Andre Kiste)
* silverstripe/cms (4.6.0 -> 4.7.0-rc1)
* 2020-09-24 [3bf25681](https://github.com/silverstripe/silverstripe-cms/commit/3bf25681be6ec3763af2c06a001fc99a6bef38b8) Add docs to $enforce_strict_hierarchy (bergice)
* 2020-08-10 [a591776e](https://github.com/silverstripe/silverstripe-cms/commit/a591776e06e37ca5ae01eed25370ea30a01c2d09) Read from `ALL_VERSIONS` when looking up page history (bergice)
* 2020-07-03 [0a58bda7](https://github.com/silverstripe/silverstripe-cms/commit/0a58bda7dd20aa871781908aaa384b9392b9e609) Show the type of save that was performed for the record instead of just showing either Saved/Published. (bergice)
* 2020-06-17 [926571a2](https://github.com/silverstripe/silverstripe-cms/commit/926571a2bfd56045ad6fc58bff8e7b7280927fd9) https://github.com/silverstripe/silverstripe-cms/issues/2557 - remove FQN if lang != EN on SiteType dropdown in page-settings (Lukas Erni)
* silverstripe/graphql (3.3.0 -> 3.4.0-rc1)
* 2020-06-06 [7571abe](https://github.com/silverstripe/silverstripe-graphql/commit/7571abe6d5e69fffb0650a6efd1291c610c333b9) Make silverstripe-graphql independent of the presence of Versioned module (Alessandro Marotta)
* silverstripe/versioned (1.6.2 -> 1.7.0-rc1)
* 2020-09-25 [739caba](https://github.com/silverstripe/silverstripe-versioned/commit/739cabae17f1016f2af26183ad32f1522da473c9) Switch Exception to RuntimeException (Robbie Averill)