Version 5 supported


Post CMS 5 RC freeze

Once the initial CMS 5.0 RC is released, API changes will no longer be accepted and will have to be targeted to CMS 5.1.

Bug fixes may be accepted if they can be solved without changing APIs.


Included module versions

Change to supported modules

Some Silverstripe CMS modules are commercially supported. Silverstripe commits to looking after those modules for the duration of the Silverstripe CMS 5 lifecycle.

Review the list of Commercially Supported Modules for Silverstripe CMS 5.

Modules with upgrade guides

silverstripe/graphql and tractorcow/silverstripe-fluent each have multiple major release lines which are compatible with Silverstripe CMS 4. If you use either of these modules, you should upgrade to the latest CMS 4 compatible version before upgrading to CMS 5.

Modules not supported going forward

Some modules that were commercially supported in Silverstripe CMS 4 will not be supported in Silverstripe CMS 5. Some of those modules will provide CMS5-compatible versions. Others will be dropped altogether.

Just because a module is not "commercially supported", doesn't mean that you shouldn't be using it. Community supported modules are maintained on a "best-effort" basis. You should take this into consideration when choosing to install a community supported module in your project.

Email if you are keen to help maintain some of the modules that will no longer be commercially supported.

bringyourownideas/silverstripe-composer-security-checkerDroppedUnderlying service has been discontinued.
composer/installersRemovedCalling Composer a "supported module" was nonsensical. The Silverstripe CMS development team has no access to manage Composer or the underlying Packagist service. Composer is a development tool required to build Silverstripe CMS sites, not a module maintained by Silverstripe.
cwp/cwpCMS5 compatible without commercial support
cwp/cwp-coreCMS5 compatible without commercial support
cwp/cwp-searchCMS5 compatible without commercial support
dnadesign/silverstripe-elemental-subsitesDroppedElemental works fine with Subsite out-of-the-box.
lekoala/silverstripe-debugbarCMS5 compatible without commercial supportDebug bar is a development tool that should not be installed in production.
silverstripe/akismetDroppedThe parent library is outdated and there are better alternatives like UndefinedOffset/silverstripe-nocaptcha
silverstripe/behat-extensionCMS5 compatible without commercial support
silverstripe/ckan-registryCMS5 compatible without commercial support
silverstripe/comment-notificationsCMS5 compatible without commercial support
silverstripe/commentsCMS5 compatible without commercial support
silverstripe/content-widgetCMS5 compatible without commercial support
silverstripe/fulltextsearchCMS5 compatible without commercial support
silverstripe/graphql-devtoolsCMS5 compatible without commercial support
silverstripe/html5Folded back in core
silverstripe/postgresqlCMS5 compatible without commercial support
silverstripe/recipe-cclCMS5 compatible without commercial support
silverstripe/recipe-solr-searchCMS5 compatible without commercial support
silverstripe/security-extensionsFolded back in core
silverstripe/sqlite3CMS5 compatible without commercial support
silverstripe/widgetsCMS5 compatible without commercial support
tractorcow/classproxyCMS5 compatible without commercial support
tractorcow/silverstripe-proxy-dbCMS5 compatible without commercial support
undefinedoffset/sortablegridfieldDroppedsymbiote/silverstripe-gridfieldextensions provides equivalent functionality.

Fixed dependencies

Silverstripe CMS relies on third party dependencies to implement many features. We have defined several fixed dependencies to provide certainty to Silverstripe CMS project owners and minimise the risk of composer conflicts. These dependencies will not be upgraded to new major versions within the Silverstripe CMS 5 release line.

Review Silverstripe CMS 5 fixed dependencies for more details.

Dependency changes

General changes

  • swiftmailer/swiftmailer has been removed and replaced with symfony/mailer
  • Various Symfony dependencies have been upgraded from 4.x to 6.x. A small number of code changes were made in silverstripe/framework to work with the symfony 6.x dependencies.
  • silverstripe/graphql v3 is no longer supported. It is recommended that you ensure you are using silverstripe/graphl v4 in your Silverstripe CMS 4 project before upgrading to Silverstripe CMS 5. There is documentation for the upgrade process here.
  • PHPUnit 5.7 is no longer supported. It is recommended that you ensure your tests are running with PHPUnit 9 in your Silverstripe CMS 4 project before upgrading to Silverstripe CMS 5. There is documentation for the upgrade process here.
  • masterminds/html5 is now used to parse HTML content instead of DomDocument::loadHTML(). This may cause slight changes in rendered content if the content being saved contains invalid HTML. The optional module silverstripe/html5 is no longer required for rendering HTML 5 content.

TinyMCE upgraded from 4 to 6

TinyMCE has been upgraded up two major versions from 4 to 6. The API for HTMLEditorConfig and TinyMCEConfig haven't changed at all, but there have been some changes to plugins and options which may affect your projects. Here are some notable changes:

  • The styleselect option for selecting a CSS style has changed to styles.
  • The spellchecker plugin is now a premium "Spell Checker Pro" plugin through TinyMCE cloud (though the browser_spellcheck options still works and is enabled by default).
  • The paste from Microsoft Word functionality is now part of a premium "PowerPaste" plugin through TinyMCE cloud.

  • The UI API has changed, which will affect any custom plugins you may be using. Notably:

    • most addX() functions have been moved from editor to editor.ui.registry - e.g. editor.addButton() is now editor.ui.registry.addButton().
    • onclick functions on buttons have been changed to onAction.

There were a lot more changes than just those, so you may want to also check out the following resources:

Front-end build stack upgrades

"Front-end" in this section refers to the JavaScript and CSS in the CMS. It doesn't have any impact on your website's public-facing front-end.

We've upgraded the front-end build stack for the CMS, along with most of the JavaScript dependencies.

Webpack config

The @silverstripe/webpack-config and @silverstripe/eslint-config NPM libraries, along with the build stack for all supported modules, has been updated to be compatible with node 18 and webpack 5. This will only impact you if your module or project uses one or both of those NPM packages - you will need to make sure you update your own dependencies to be compatible with them, along with the dependencies listed below if you use them.

With this comes a change to the API for @silverstripe/webpack-config. There is a new (optional) abstracted API for declaring the webpack config for transpiling the JavaScript and CSS for your CMS customisations, which has been documented extensively in the readme for that library.

You can continue to use the old API if you want to, but you will need to account for the following breaking changes:

  • The UglifyJsPlugin is no longer used to remove comments from transpiled code. Refer to the optimisation config in the abstracted JavascriptWebpackConfig class instead.
  • script-loader, file-loader, and url-loader have all been replaced with the relevant webpack assets configuration.
  • ExtractTextPlugin and its associated configuration has been replaced with MiniCssExtractPlugin.
  • Supported browser configuration has been replaced with setting an appropriate browserslist configuration in your package.json file.

Updated JavaScript dependencies

The following JavaScript dependencies (which are used in the CMS, and may impact your customisations) have been updated to new major versions, or replaced:

old package and versionnew package and versionupgrade guide
apollo-client ^2.3.1@apollo/client ^3.7.1upgrade guide
apollo-cache-inmemory ^1.2.1@apollo/client ^3.7.1upgrade guide
apollo-link ^1.2.2@apollo/client ^3.7.1upgrade guide
apollo-link-batch-HTTP ^1.2.1@apollo/client ^3.7.1upgrade guide
apollo-link-error ^1.0.9@apollo/client ^3.7.1upgrade guide
apollo-link-HTTP ^1.5.4@apollo/client ^3.7.1upgrade guide
apollo-link-state ^0.4.1@apollo/client ^3.7.1upgrade guide
GraphQL ^14.0.0GraphQL ^16.6.0GitHub changelog
merge ^1.2.1merge ^2.1.1N/A
react ^16.6.1react ^18.2.0upgrade guide
react-apollo ^2.1.0@apollo/client ^3.7.1upgrade guide
react-redux ^5.0.7react-redux ^8.0.5GitHub changelog
react-router ^4.4.0react-router ^6.7upgrade guide
react-router-config ^4.4.0react-router ^6.7upgrade guide
react-router-dom ^4.4.0react-router-dom ^6.7upgrade guide
react-select ^1.3react-select ^5.5.8upgrade guides
redux-form ^7.4.2redux-form ^8.3.8GitHub changelogs
validator ^6.1.0validator ^13.7.0changelog
dropzone ^5.7.2dropdown ^6.0.0-beta.2changelog

Common upgrade patterns

While upgrading core modules, there were a few common patterns we found that might be useful for you. Those are listed here for your convenience.

ReactDOM.render() replaced with ReactDOM.createRoot().render()

If you are injecting a React component in a section of the CMS that uses entwine, you likely have something like this:

import React from 'react';
import ReactDOM from 'react-dom';

  onmatch() {
    ReactDOM.render(<MyComponent />, this[0]);

  onunmatch() {
    const container = this[0];
    if (container) {

Instead of using ReactDOM.render(), you should now call ReactDOM.createRoot().render() - but if you try to use createRoot() multiple times on the same element, react will complain, so you'll want to keep a reference to the root you made the first time. The above example turns into this:

import React from 'react';
import ReactDOM from 'react-dom';

  ReactRoot: null,

  onmatch() {
    let root = this.getReactRoot();
    if (!root) {
      root = ReactDOM.createRoot(this[0]);
    root.render(<MyComponent />);

  onunmatch() {
    const root = this.getReactRoot();
    if (root) {

React route paths are now relative to their parent routes

The update to react-router has changed the paths for routes in react-only sections of the CMS (such as /admin/assets) to be relative to the parent routes. If you have a custom react CMS section, you'll need to make sure you're using the relative path. This is included as reactRoutePath in the array returned by LeftAndMain::getClientConfig() by default, but you may need to double check your custom admin section is returning the correct value.

Then, in your JavaScript implementation where you are adding your route to the ReactRouteRegister, simple change your route's path from using the url key to use the new reactRoutePath key.

  import ConfigHelpers from 'lib/Config';
  import reactRouteRegister from 'lib/ReactRouteRegister';
  import MyAdmin from './MyAdmin';

  document.addEventListener('DOMContentLoaded', () => {
      const sectionConfig = ConfigHelpers.getSection('MyAdmin');
-         path: sectionConfig.url,
+         path: sectionConfig.reactRoutePath,
          component: MyAdminComponent,

react-router no longer has a withRouter HOC

In the old version of react-router, the withRouter Higher Order Component could be used to wrap your component which needs access to the router and its functionality.

This has been removed. The ideal way to upgrade will be to rewrite your components to work with the new API as per the upgrade guide referenced in the table above.

If you don't have time or resources to rewrite your components, we do have a temporary solution for you - but bear in mind that this is just kicking the can down the road. You will have to upgrade to use the new react-router API eventually.

Silverstripe CMS 5 includes a replacement withRouter Higher Order Component that you can use until you have the resources necessary to upgrade properly. It passes different props than the old one did, so you will still need to make some changes. For example:

import React, { Component } from 'react';
import PropTypes from 'prop-types';
import { withRouter } from 'react-router-dom';

class MyAdmin extends Component {
  // Your implementation here

MyAdmin.propTypes = {
  location: PropTypes.shape({
    pathname: PropTypes.string,
    query: PropTypes.object,
    search: PropTypes.string,
  match: PropTypes.shape({
    params: PropTypes.shape({
      view: PropTypes.string,
      id: PropTypes.number,
  // eslint-disable-next-line react/no-unused-prop-types
  history: PropTypes.object,

export default withRouter(MyAdmin);

The above expects the match and history props from the withRouter HOC. These are no longer passed. What's more, you don't have to declare your own proptypes, we've exported that for you. The above now becomes this:

import React, { Component } from 'react';
import withRouter, { routerPropTypes } from 'lib/withRouter';

class MyAdmin extends Component {
  // Your implementation here

MyAdmin.propTypes = {
  // eslint-disable-next-line react/no-unused-prop-types
  router: routerPropTypes,

export default withRouter(MyAdmin);

The new props that our withRouter HOC passes in is a single prop called router which has the following PropTypes definition:

  location: PropTypes.shape({
    pathname: PropTypes.string,
    query: PropTypes.object,
    search: PropTypes.string,
  navigate: PropTypes.func,
  params: PropTypes.object,

router.params is a one-to-one replacement for the old match.params, and router.location is a one-to-one replacement for the old location prop.

Refer to the upgrade guide from the table above to learn how to replace the old history prop with the new router.navigate prop.

Breaking changes in our JavaScript components or API

For the most part we were able to retain our existing API and not make any drastic changes to our react components through upgrading our dependencies, but there was one notable exception.

To conform with the API changes in the new version of react-select, the TreeDropdownField component has changed considerably, and the TreeDropdownFieldMenu component has been removed entirely.

If you were customising the TreeDropdownField React component at all or injecting a custom version of TreeDropdownFieldMenu, you will want to take a look at the source code for the TreeDropdownField component and maybe have a look at the upgrade guides for react-select referenced in the table above to see what changes you need to make.

Some of the CSS classes related to TreeDropdownField have also changed, as a result of the upgrade to react-select.

Other breaking changes

URLs generated by Silverstripe CMS don't include a trailing slash by default

The URLs generated by Silverstripe CMS have previously been inconsistent as to whether a trailing slash is included or not. This lead to the creation of at least one module which normalises the trailing slash at the end of URLs.

By default, all URLs created by Silverstripe CMS will now not end with a slash. You can configure this to instead explicitly add a trailing slash to all URLs with the following YML configuration:

    add_trailing_slash: true

Because this can be controlled with configuration, it is best practice to avoid explicitly expecting a trailing slash to either be present or be omitted.

In PHP, you can use methods like Controller::join_links() or Controller::normaliseTrailingSlash(). In JavaScript in your CMS customisations, we recommend using using the joinUrlPaths() utility function silverstripe/admin which you can access with import { joinUrlPaths } from 'lib/urls; if your project uses @silverstripe/webpack-config. In your templates, you should use appropriate methods from your controller or model such as SiteTree::Link() which uses Controller::join_links() under the hood.

The CanonicalURLMiddleware will also, by default, redirect traffic to include or omit the trailing slash according to the above configuration. By default, this means that traffic directed to /about-us/ will be redirected to /about-us. You can disable this behaviour with the following YML configuration:

      enforceTrailingSlashConfig: false

Redirects will not be performed for any route starting with admin/ or dev/ by default. You can configure this, as well as exclude specific user agents from being redirected, with the following YML configuration:

        - 'my-ajax-controller/'
        - 'my-dev-user-agent'

CWP agency extensions

The cwp/agency-extensions module used to provide a Font Awesome v4 plugin for TinyMCE 4. This plugin is not compatible with TinyMCE 6 and we couldn't see an appropriate alternative plugin to use instead. The fact that such a replacement doesn't seem to exist in the wild suggests to us that the use-case is very narrow, so we have opted to remove this plugin without replacing it.

If your project has no content which used the Font Awesome plugin provided by this module, you don't need to make any changes - though you can remove the CWP_AGENCY_DISABLE_FONTAWESOME_PLUGIN environment variable from your .env file if it was set.

If your project does have some content which contains Font Awesome icons from that plugin, you will need to set CWP_AGENCY_ENABLE_FONTAWESOME_STYLES to true in your environment variables. This will allow you to see the existing icons in the TinyMCE field in the CMS, as well as ensuring that they will not be removed when you save content. The front-end will not be impacted, as you already had to inject an appropriate stylesheet into the front-end for the icons to appear there.

If you cannot set environment variables in your project, you can set the following configuration manually in your project:

// app/_config.php
use SilverStripe\Forms\HTMLEditor\TinyMCEConfig;

    . ',span[class|align|style|aria-hidden]'
# app/_config/font-awesome.yml
    - ""

If you need the ability to add icons in your content, a suitable alternative may be the emoticons plugin for TinyMCE 6. You can compare the icons provided by that plugin with the icons in Font Awesome v4 to see if it would be a suitable replacement for your project.

silverstripe/security-extensions module is folded into core

The functionality from silverstripe/security-extensions has been folded into the core modules. This means you no longer need to install that module to benefit from the features it provided - and indeed there will not be a CMS 5 compatible version of that module. If you have silverstripe/security-extensions as a dependency in your composer.json file, you will need to remove it.

With this change you now have access to the following features:

Require password change on next log in

Administrators with the ability to administer members can see a checkbox in the CMS under the area to set the member's password. Checking this box will set the password expiry to the current date, meaning the next time the member logs in they will be required to choose a new password for their account.

No change is made when setting this field and the password is already expired for auditing purposes (an administrator could see how long ago a password expired). Similarly no change is made when unsetting this field and the expiry date is in the future, it should remain so - the checkbox is for immediately requiring a new password on the next log in.

See the secure coding section for information about setting the password expiry itself, or the "Changing and managing users" user help guide to see how this appears to the user.

Sudo mode

Sudo mode represents a heightened level of permission in that you are more certain that the current user is actually the person whose account is logged in. This is performed by re-validating that the account's password is correct, and will then last for a certain amount of time (configurable) until it will be checked again.

Out of the box this is currently only used by the silverstripe/mfa module - see MAnaging your MFA settings - but you can use it in your own projects as well. Read the Sudo Mode documentation to find out how.

Note that as part of this change the namespaces of several classes changed. Refer to the table below if you were referring to these classes (e.g. to set configuration values or replace classes via dependency injection).

Old namespaceNew namespace

Features and enhancements

Extension changes

Extension classes don't expose protected methods, but they can be used for extension hooks. This reduces the surface of methods exposed from your extensions into Extensible classes. For example, you might have a protected function updateCMSFields() method which will be called after writing some DataObject - but because this method is protected, it cannot be accessed directly from the DataObject instances. You can however still expose some method from the Extension by making it public - and that method can be accessed directly from the DataObject instances.

When invoking an extension hook (e.g. via extend()), methods prefixed with "extend" will take precedence. i.e. if an Extension class has a onAfterWrite() method and an extendOnAfterWrite() method and I call $this->extend('onAfterWrite') - the extendOnAfterWrite() method on that Extension will be called, and onAfterWrite() will not. This empowers advanced Extension functionality such as Versioned::canPublish() which invokes $owner->extendedCan('canPublish') but doesn't result in a cycle, because the same class also implements extendCanPublish().

Other new features

  • DataObject::get_one() can now be called directly from subclasses of DataObject without passing in a class as the first argument (e.g. SiteTree::get_one(filter: ['Title:startsWith' => 'About'])).
  • Strings returned from the getSummary() method in elemental blocks will automatically be displayed as the summary for the element in the ElementalArea - this no longer needs to be manually added in provideBlockSchema().
  • The elemental TopPage DataExtension is applied to BaseElement and ElementalArea by default, and the corresponding SiteTreeExtension is applied to SiteTree by default. This allows you to use $TopPage in your elemental block templates as a more performant alternative to $Page when referring to the page the element belongs to.
  • Void HTML elements such as <img> are no longer rendered as self-closing tags e.g. <img src="foo" alt="bar"> is now rendered, previously <img src="foo" alt="bar" /> was rendered.
  • It’s now possible to hook into FormField validation via the updateValidationResult extension hook. Module authors releasing form fields should opt-in to this functionality by calling the new extendValidationResult method to enable developers to extend and customise validation. See the form validation documentation for more information.


  • If a page which is a child of a root-level page gets archived, and then its former parent is removed, it can only be restored if can_be_root for that page's class is true.

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!

Environment variable changes

  • SS_MANIFESTCACHE can no longer use the now removed symfony/cache 4.x "Simple" cache classes e.g. Symfony\Component\Cache\Simple\PhpFilesCache. Instead use the corresponding "Adapter" class e.g. Symfony\Component\Cache\Adapter\PhpFilesAdapter.
  • APP_SMTP_USERNAME and APP_SMTP_PASSWORD have been removed. Use a MAILER_DSN environment variable instead to configure SMTP email (see the email documentation for more details).

API changes

This is a major release and contains many breaking API changes. Deprecation warnings have been added to the latest Silverstripe CMS 4 release to advise you of APIs that have been removed in Silverstripe CMS 5.

Enable deprecation warnings prior to upgrading to Silverstripe CMS 5 to see if your project relies on any APIs that are no longer unavailable.

General changes

  • SecurityAdmin is a SilverStripe\Admin\ModelAdmin.

    • Previous extension hook implementations of SecurityAdmin::updateEditForm($form) still works as the extension hook is called in ModelAdmin::getEditForm().
    • The Users, Groups and Roles tabs no longer share the /admin/security path and instead have their own dedicated paths. e.g. /admin/security/users
  • isDev and isTest query string arguments have been removed due to security concerns (see ss-2018-005).
  • The updateRelativeLink() extension hook for updating the result of SiteTree::RelativeLink() has changed signature, allowing you to update the resultant link itself instead of just the component parts. If you are using this extension hook you will need to update the method signature and logic to match. See SiteTreeExtension::updateRelativeLink() for more details.
  • The default value for the RESOURCES_DIR const has been changed to to "_resources"

    • The Library::DEFAULT_RESOURCES_DIR constant in silverstripe/vendor-plugin has been changed to match.
    • This can still be customised using extra.resources-dir in your composer.json file (see relevant docs).
    • If your composer.json file has its extra.resources-dir key set to _resources, you can remove that now.
    • If your composer.json file already does not have an extra.resources-dir key and you want to keep your resources in the resources directory, you can set extra.resources-dir to resources.
    • If your composer.json file already does not have an extra.resources-dir key and you want to use the new default _resources directory, you may need to check that your code and templates don't assume the directory name for those resources. In your templates it is preferred to use $resourePath() or $resourceURL() to get paths for resources.
  • The use of the public/ directory for the public web root is now mandatory. This was introduced as the default for new projects in CMS 4.1.0. If you are still not using the public/ directory as your public web root, follow the instructions in the Silverstripe CMS 4.1.0 changelog.
  • The legacy file resolution strategy introduced in CMS 4.4.0 is no longer available. If you still use the legacy file resolution strategy, follow the file migration instructions and then change your file resolution configuration to match the defaults in the assets.yml file in silverstripe/installer.
  • Removed the HTMLValue injection "shorthand", use the fully qualified HTMLValue instead.
  • In silverstripe/staticpublishqueue the class SilverStripe\StaticPublishQueue\Dev\StaticPublisherState is no longer enabled by default and can be enabled via opt-in. There are opt-in instructions in the of the module.


  • Email was sent in CMS 4 using SwiftMailer, which has since gone End Of Life. In CMS 5, this has been replaced with symfony/mailer. symfony/mailer is the currently maintained email package from Symfony. It's a more flexible email system that allows easier integration with third-party email providers.
  • In CMS 4, the SilverStripe\Control\Email\Email class subclassed SilverStripe\View\ViewableData. In CMS 5, it now subclasses Symfony\Component\Mime\Email.
  • MailTransport, which used the PHP native mail() function, is no longer present in CMS 5. This is because Symfony considers mail() to be insecure.
  • If your site has a custom email configuration e.g. SMTP configuration, this will need to be updated, as the configuration has changed from Silverstripe yml to a much more flexible and standardised DSN string. See the email documentation for more details. The configuration for email has changed completely - read the updated documentation carefully.
  • The following return types were changed on the following methods in SilverStripe\Control\Email\Email.

    • Used to return a string, now returns an nullable Address object.

      • getReturnPath()
      • getSender()
    • Used to return an array of strings, now returns an array of Address objects.

      • getFrom()
      • getTo()
      • getBCC() - note - changed casing to getBcc()
      • getCC() - note - changed casing to getCc()
    • Used to return bool, now return void:

    • Catch TransportExceptionInterface from Symfony Mailer to handle failure to send email.
    • Various other methods have added strong typing to parameter and return types. Also, some parameter names have changed.


  • DataList::sort() no longer accepts raw SQL. A new DataList::orderBy() method has been created which accepts raw SQL, though it's recommended to continue using DataList::sort() if possible to reduce the chance of SQL injection vulnerabilities.
  • Passing null to DataList::sort() i.e. sort(null) now clears any existing sort values on a DataList. Passing an empty string (i.e. sort('') or array i.e. sort([])) now causes an InvalidArgumentException to be thrown.
  • Prior to 5.0.0, when using SQLSelect::setFrom() or SQLSelect::create('*', $from) to set table or subselect definitions, their aliases (applied by setting a string key for the array) were being ignored. This bug has been fixed - if you were working around this by manually setting the alias e.g. in a join, you can remove those workarounds now.
  • Query now implements IteratorAggregate instead of Iterator. This means seek() and other iterator methods are no longer available on this class and its subclasses. Use getIterator() instead.
  • DataList, its subclasses, Map, and ArrayList all now return generators from getIterator(). This reduces memory usage when looping over large result sets. As a result of this, getGenerator() has been removed as it is no longer needed. Note that DataList::chunkedFetch() has not been removed, as it may still be useful for very large result sets to fetch results in smaller chunks at a time.
  • Limitable::limit() is now strongly typed. Calling limit() with a 0 or false length now limits the list to 0 entry. In Silverstripe CMS 4, any "falsy" value would unset the limit. To unset a list's limit in Silverstripe CMS 5 , call limit() with an explicit null. This affects DataList, ArrayList and all other classes implementing Limitable.

    • In Silverstripe CMS 4, calling SQLSelect::setLimit() with 0 as argument would unset the limit. In Silverstripe CMS 5, it sets a limit of 0 causing the query to return no results. Call setLimit() with null to unset the limit.
  • ArrayList::limit() in Silverstripe CMS 5 throws an InvalidArgumentException when called with a negative $length or $offset.
  • PDO database connector support has been fully removed. Update the SS_DATABASE_CLASS environment variable to use a regular connector instead. For instance change MySQLPDOConnector to MySQLDatabase.

Dynamic properties


  • <% loop %> and <% with %> now only ever result in one new scope level. See Template Syntax for more details.

    For example <% loop $Pages.Limit(5) %>{$Up.Up.Title}<% end_loop %> previously would go up once to the $Pages scope (out of the $Pages.limit(5) scope), then up a second time to the parent scope. Now there is only the parent scope and the $Pages.limit(5) scope - there is no implied $Pages scope.

    You may need to do a search for $Up.Up in your templates to resolve situations where you have worked around this - with the example above, you would need to rewrite it to $Up.Title (removing the second Up).

  • Numeric, boolean and null values passed to methods in templates will now preserve their type, rather than always being cast to strings. E.g. $Foo(true) would previously pass a string argument 'true' to the Foo() method, but will now pass an actual boolean.

    You may need to check for situations where you were working around this limitation, such as checking in PHP code for $param === 'false' if you were passing false into some method from a template.

Removed and changed API (by module, alphabetically)


  • Removed deprecated class CWP\Core\Extension\CWPVersionExtension


  • Removed deprecated class CWP\Search\Solr\CwpSolrConfigStore






  • Removed deprecated method SilverStripe\Auditor\AuditHook::bind_manipulation_capture()
  • Removed deprecated method SilverStripe\Auditor\AuditHook::onBeforeInit()
  • Changed parameter type in SilverStripe\Auditor\RealIPProcessor::__invoke() for $record from array to Monolog\LogRecord







  • Removed deprecated method SilverStripe\CronTask\Controllers\CronTaskController::setQuiet()
  • Removed deprecated property SilverStripe\CronTask\Controllers\CronTaskController::$quiet


  • Removed deprecated method SilverStripe\EnvironmentCheck\EnvironmentChecker::get_email_results()
  • Removed deprecated method SilverStripe\EnvironmentCheck\EnvironmentChecker::get_from_email_address()
  • Removed deprecated method SilverStripe\EnvironmentCheck\EnvironmentChecker::get_to_email_address()
  • Removed deprecated method SilverStripe\EnvironmentCheck\EnvironmentChecker::set_email_results()
  • Removed deprecated method SilverStripe\EnvironmentCheck\EnvironmentChecker::set_from_email_address()
  • Removed deprecated method SilverStripe\EnvironmentCheck\EnvironmentChecker::set_to_email_address()







  • Removed deprecated method SilverStripe\LDAP\Extensions\LDAPMemberExtension::memberLoggedIn()



  • Removed deprecated method SilverStripe\RecipePlugin\RecipeInstaller::rewriteFilePath()



  • Removed deprecated class SilverStripe\SecurityReport\Subsites\SubsiteSecurityReport


  • Removed deprecated method SilverStripe\ShareDraftContent\Controllers\ShareDraftController::getRenderedPageByURLSegment()



  • Removed deprecated config SilverStripe\TagField\StringTagField.immediate_write_enabled



  • Removed deprecated class SilverStripe\VendorPlugin\VendorModule
  • Removed deprecated method SilverStripe\VendorPlugin\Console\VendorExposeCommand::getAllModules()
  • Removed deprecated method SilverStripe\VendorPlugin\Library::installedIntoVendor()
  • Removed deprecated method SilverStripe\VendorPlugin\Library::publicPathExists()
  • Removed deprecated method SilverStripe\VendorPlugin\VendorPlugin::getVendorModule()
  • Removed deprecated constant SilverStripe\VendorPlugin\Library::RESOURCES_PATH
  • Removed deprecated constant SilverStripe\VendorPlugin\VendorPlugin::MODULE_FILTER
  • Removed deprecated constant SilverStripe\VendorPlugin\VendorPlugin::MODULE_TYPE




  • Removed deprecated method SilverStripe\VersionFeed\VersionFeed::getDiffedChanges()



  • Removed deprecated property Symbiote\AdvancedWorkflow\Extensions\WorkflowEmbargoExpiryExtension::$showTimePicker



  • Removed deprecated method TractorCow\Fluent\Extension\FluentExtension::getLinkingMode()
  • Removed deprecated method TractorCow\Fluent\Extension\FluentExtension::LocaleLink()
## Change Log

Features and enhancements

  • silverstripe/installer (4.13.0-rc1 -> 5.0.0-rc1)

    • 2023-02-23 c9bfb0e Remove duplicated configuration (Guy Sartorelli)
    • 2022-08-05 1f718dc Remove resources-dir config from composer.json (#330) (Guy Sartorelli)
  • silverstripe/vendor-plugin (1.7.0 -> 2.0.0)

    • 2022-08-03 b9ca004 Set the default resources dir to "_resources" (Guy Sartorelli)
  • silverstripe/recipe-cms (4.13.0-rc1 -> 5.0.0-rc1)

    • 2022-08-05 b61004e Remove resources-dir config from composer.json (#59) (Guy Sartorelli)
  • silverstripe/recipe-core (4.13.0-rc1 -> 5.0.0-rc1)

    • 2022-12-15 9745b0d Pull .htaccess file when required as a dependency (#83) (Guy Sartorelli)
    • 2022-08-05 e6fb2d6 Remove resources-dir config from composer.json (#76) (Guy Sartorelli)
  • silverstripe/assets (1.13.0-rc1 -> 2.0.0-rc1)

    • 2023-02-23 28cd27e Use the optimal file resolution strat by default (Guy Sartorelli)
    • 2022-12-12 dfc3919 PHP 8.2 support (Steve Boyd)
    • 2022-10-03 a730c06 Check canViewFile permissions before automatically grant Session access to the file (#517) (Sabina Talipova)
  • silverstripe/framework (4.13.0-rc1 -> 5.0.0-rc1)

    • 2023-02-21 0075bf6e4 Access dynamic data inside ViewableData (Steve Boyd)
    • 2023-02-08 9a5ccdba5 Protect against possible unexpected values (Guy Sartorelli)
    • 2023-01-30 af72f4ada Add translations from security-extensions module (Guy Sartorelli)
    • 2023-01-29 fecb7ba4d Add sudo mode service (Guy Sartorelli)
    • 2023-01-29 0f4014650 Add easy way to dismiss all toasts in behat (#10661) (Guy Sartorelli)
    • 2023-01-26 8ddedb038 Allow admins to require password reset for members (Guy Sartorelli)
    • 2023-01-18 d1e0e1e30 Make limit method return no results when zero is provided (Maxime Rainville)
    • 2023-01-17 d7ddb0025 Use masterminds/html5 for HTMLValue (Steve Boyd)
    • 2023-01-17 1a59bf50d Remove unused Translatable code (Steve Boyd)
    • 2022-12-21 c1a773310 PHP 8.2 support (Steve Boyd)
    • 2022-11-04 97f7be502 Add extension hook for field-specific validation (Loz Calver)
    • 2022-10-21 df1d4a4b9 Move email to data conversion to protected method (Steve Boyd)
    • 2022-10-19 2e85674cc Migrate from swiftmailer/swiftmailer to symfony/mailer (Steve Boyd)
    • 2022-08-03 ee4144fc3 Set the default resources dir to "_resources" (Guy Sartorelli)
    • 2020-03-26 a666814a8 CSV BOM stripping is now handled internally by league/csv (Dan Hensby)
    • 2018-10-05 4339e4d02 Add support for native nulls as template lookup arguments (Loz Calver)
    • 2017-11-06 156f63bce shorten auto-generated table names (Christopher Joe)
    • 2017-01-17 77c7552c3 ORM’ Query is a generator-based IteratorAggregate (Sam Minnee)
    • 2017-01-16 6c136c9cf Iterate ArrayList via a generator (Sam Minnee)
    • 2017-01-12 1b8f60102 Make DataList::getIterator a generator (Loz Calver)
  • silverstripe/admin (1.13.0-rc1 -> 2.0.0-rc1)

    • 2023-03-26 e7d45a80 Default GraphQL abstractions to gql v5 style (Guy Sartorelli)
    • 2023-01-29 8aa9b0c3 Add HOC to provide sudo mode to child components (Guy Sartorelli)
    • 2023-01-29 ec6567c0 Add new circular loading react component (Guy Sartorelli)
    • 2023-01-29 3c63b6d1 Add sudo mode controller (Guy Sartorelli)
    • 2023-01-26 29f70676 Remove unnecessary JS imports. (Guy Sartorelli)
    • 2023-01-20 54b29aff Allow base URL to not have trailing slash (#1438) (Guy Sartorelli)
    • 2023-01-17 dc2c4522 Remove unused Translatable code (Steve Boyd)
    • 2023-01-11 828ef08e Expose ApolloClient for other modules to use (Guy Sartorelli)
    • 2023-01-09 af2b8c82 Export emotion cache provider. (Guy Sartorelli)
    • 2022-09-29 6b1496fb Implement our TinyMCE skin for TinyMCE 6 (Guy Sartorelli)
    • 2022-09-14 2d2985c4 Records can be made previewable with an extension (Guy Sartorelli)
  • silverstripe/asset-admin (1.13.0-rc1 -> 2.0.0-rc1)

    • 2023-02-13 2590c822 Add delete buttons for images/embeds in wysiwyg (#1331) (Guy Sartorelli)
    • 2023-01-12 447beaa0 Allow URLs without trailing slashes (Guy Sartorelli)
    • 2022-11-04 15c4c024 Add extension hook for field-specific validation (Loz Calver)
    • 2022-08-31 6c9f9ecc Don't call deprecated constructExtensions method (#1290) (Guy Sartorelli)
  • silverstripe/campaign-admin (1.13.0-rc1 -> 2.0.0-rc1)

    • 2023-01-12 a2a95ae Allow URLs without trailing slashes (Guy Sartorelli)
  • silverstripe/versioned-admin (1.13.0-rc1 -> 2.0.0-rc1)

    • 2023-03-28 20588d7 Do not use deprecated lifecycle methods (Steve Boyd)
    • 2022-09-01 8ee61fd Remove deprecated HistoryControllerFactory. (#251) (Guy Sartorelli)
  • silverstripe/cms (4.13.0-rc1 -> 5.0.0-rc1)

    • 2023-01-18 b57d557b Remove unused Translatable code (Steve Boyd)
    • 2023-01-11 ef4122da Use the EmotionCssCacheProvider component (Guy Sartorelli)
    • 2022-09-14 6ff98c42 Records can be made previewable via an extension (Guy Sartorelli)
    • 2022-08-29 adcea213 Remove CSS for CMSPageHistoryController. (Guy Sartorelli)
  • silverstripe/siteconfig (4.13.0-rc1 -> 5.0.0-rc1)

    • 2022-10-07 458f5dd4 Let SiteConfig be previewable (Guy Sartorelli)
  • silverstripe/documentconverter (2.5.0-rc1 -> 3.0.0-rc1)

    • 2023-01-19 34d3c29 PHP 8.2 compatibility (Steve Boyd)
  • silverstripe/iframe (2.4.0-rc1 -> 3.0.0-rc1)

    • 2023-01-19 ad4342f PHP 8.2 compatibility (Steve Boyd)
  • silverstripe/tagfield (2.11.0-rc1 -> 3.0.0-rc1)

    • 2023-02-22 8b8bd13 Add extension hooks for field-specific validation (Loz Calver)
  • silverstripe/widgets (2.4.0-rc1 -> 3.0.0-rc1)

    • 2023-01-20 28d16bf Fix linting issues (Guy Sartorelli)
    • 2023-01-20 4f04dd8 Use frontend build stack (Guy Sartorelli)
  • silverstripe/comments (3.10.0-rc1 -> 4.0.0-rc1)

    • 2023-01-19 71a09ea Update regex to most recent jQuery.validate (Guy Sartorelli)
  • bringyourownideas/silverstripe-maintenance (2.7.0-rc1 -> 3.0.0-rc1)

    • 2023-03-14 ec027ab Work with official list of supported modules (Steve Boyd)
  • bringyourownideas/silverstripe-composer-update-checker (3.0.0 -> 4.0.0-rc1)

    • 2022-04-26 ab967ee Use composer 2 (#62) (Steve Boyd)
  • dnadesign/silverstripe-elemental (4.11.0-rc1 -> 5.0.0-rc1)

    • 2021-11-20 57b508a Include summary in elemental area by default (Michael van Schaik)
  • silverstripe/fulltextsearch (3.12.0-rc1 -> 4.0.0-rc1)

    • 2023-01-19 723ff53 PHP 8.2 compatibility (Steve Boyd)
  • cwp/cwp-core (2.12.0-rc1 -> 3.0.0-rc1)

    • 2023-01-19 5887669 PHP 8.2 compatibility (Steve Boyd)
  • silverstripe/subsites (2.8.0-rc1 -> 3.0.0-rc1)

    • 2023-02-22 05f775a Add extension hook for field-specific validation (Loz Calver)
    • 2023-01-24 f397ab3 Prepare correct JS/CSS structure to use webpack (Guy Sartorelli)
  • tractorcow/silverstripe-fluent (4.8.0 -> 7.0.0-beta1)

    • 2022-03-24 182c95e GitHub workflows setup. (Mojmir Fendek)
    • 2022-03-09 4bdabcb Locale performance / extensibility enhancements. (Mojmir Fendek)
    • 2022-02-08 9cb3ff5 More granular permissions for GridField actions. (Mojmir Fendek)
    • 2022-01-27 708ff73 Copy to locale enhancements. (Mojmir Fendek)
    • 2021-05-20 f8f8845 Locale fallback configuration enhancement. (Mojmir Fendek)
    • 2021-04-22 f5c8dce Allow isolated items to appear in the CMS if conditionally queried by ID / FK explicitly (configurable) (Damian Mooyman)
    • 2021-02-26 9db534e Clickable links on page info for localisation tab. (Vivienne Tubbs)
    • 2021-01-13 2b6ca3f Initial page localisation task (for single language sites import). (Mojmir Fendek)
    • 2020-11-11 87c4652 If changing locales in the CMS, ensure that 404 errors redirect to the CMS home page (Damian Mooyman)
    • 2020-06-22 4363d9e Localisation manager UI improvements. (Mojmir Fendek)
  • silverstripe/dynamodb (4.1.0 -> 5.0.0-rc1)

    • 2023-02-13 c96e48a Replace deprecated doctrine/cache (Guy Sartorelli)


  • silverstripe/recipe-plugin (1.7.0 -> 2.0.0)

    • 2022-12-14 f003b8d Always put public resources in a public/ dir (#31) (Guy Sartorelli)
  • silverstripe/assets (1.13.0-rc1 -> 2.0.0-rc1)

    • 2022-12-08 459d421 Cast absoluteUrl() argument to string (Steve Boyd)
  • silverstripe/framework (4.13.0-rc1 -> 5.0.0-rc1)

    • 2023-03-27 84273b804 Remove legacy filter icon (Steve Boyd)
    • 2023-03-01 e3a94b9d1 Ensure getters and setters are respected (#10708) (Guy Sartorelli)
    • 2023-02-20 e455aa5c5 Handle null returns in GridFieldDetailForm_ItemRequest::getNumPages() (Steve Boyd)
    • 2023-02-01 738ca487a Allow public extension getter methods to work (#10676) (Guy Sartorelli)
    • 2023-02-01 826028082 Sort without specifying a table name (#10675) (Guy Sartorelli)
    • 2023-01-31 dca4e0bcb Remove unused action from allowed_actions (#10672) (Guy Sartorelli)
    • 2023-01-30 14a449fea Don't try to access private properties/methods (Guy Sartorelli)
    • 2023-01-11 6d4542561 Check is_callable parent methods before invoke (#10637) (Sabina Talipova)
    • 2022-12-13 700288d5c Cast absoluteUrl() argument to string (Steve Boyd)
    • 2022-09-19 ef8a02dfd Update config to support tinymce6 (Guy Sartorelli)
    • 2022-09-13 a2028a281 Pass PSR6 caches to ChainAdapter (Steve Boyd)
    • 2022-09-09 e140c3786 Ensure consistent behaviour with repeat iterations (Guy Sartorelli)
    • 2022-09-08 62ee63706 PHP 8.1 compatability for iterators. (Guy Sartorelli)
    • 2022-08-31 89a0f59ef Remove accidental deprecation warnings. (Guy Sartorelli)
    • 2022-08-17 d55683d02 Ensure PHP 8.1 compatible version of oscarotero/html-parser is installed (Steve Boyd)
    • 2022-08-11 bf331072d Don't try to call count() on an iterator (Guy Sartorelli)
    • 2019-05-06 e07671a89 Fix SQLConditionalExpression::getJoins so it always adds explicit aliases (Serge Latyntcev)
    • 2018-10-05 3a6c48cdd template parser erroring on strings partially matching true/false/null (Loz Calver)
    • 2018-10-05 d6e822935 Fix type preservation in <% include %> arguments (Loz Calver)
    • 2018-02-20 f2211d690 Fix extend() failing on protected extend-prefixed methods (Damian Mooyman)
    • 2017-11-28 b36a01a8f Fix table name test (Christopher Joe)
    • 2017-06-28 9eb9e1307 Re-set finalisedQuery to allow recreation of iterator. (Sam Minnee)
    • 2017-06-28 8e0e797b4 Fix code style (Loz Calver)
    • 2017-01-17 6ef5785fc pre-cache loop content within SSViewer. (Sam Minnee)
    • 2017-01-17 d8735633a Don’t call PaginatedList::getIterator() directly. (Sam Minnee)
    • 2017-01-17 1efe2b46f Fix PaginatedList::toArray() (Sam Minnee)
  • silverstripe/admin (1.13.0-rc1 -> 2.0.0-rc1)

    • 2023-03-27 76609055 Action Edit button UI (#1485) (Sabina Talipova)
    • 2023-03-27 f793831b Use v1 of popper.js for thirdparty bootstrap (Steve Boyd)
    • 2023-03-27 61ba6ab9 Translation merge-up (Steve Boyd)
    • 2023-03-15 cc63942a Update CSS after PR (Sabina Talipova)
    • 2023-03-10 a396a90c React warnings (Sabina Talipova)
    • 2023-03-09 cef56c38 TagList prop type tags.key is invalid (Sabina Talipova)
    • 2023-03-08 349fc385 Styles warnings (Sabina Talipova)
    • 2023-03-07 a5f74a30 Changed import for createRoot function (Sabina Talipova)
    • 2023-02-27 2cfc4012 Reinstate unsaved changes dialog (#1458) (Guy Sartorelli)
    • 2023-02-09 dbe8ada6 Remove redundant memoisation (Guy Sartorelli)
    • 2023-01-19 4a1b488a Reuse emotion cache to avoid conflicts (Guy Sartorelli)
    • 2023-01-19 edb97adc Expose sublibraries of dependencies (Guy Sartorelli)
    • 2023-01-08 118681ad Set the value correctly when passed as prop. (Guy Sartorelli)
    • 2022-12-08 ce799e55 Cast absoluteUrl() argument to string (Steve Boyd)
    • 2022-12-01 8d6c1acb Rebuild JS bundles (#1401) (Sabina Talipova)
    • 2022-10-11 3f30aa21 Set name of TinyMCE i18n file to be correct (Guy Sartorelli)
    • 2022-10-07 e5badb5d Let admins get navigators for their own records (Guy Sartorelli)
    • 2022-09-30 7b3ac231 Use correct TinyMCE selection logic (Guy Sartorelli)
  • silverstripe/asset-admin (1.13.0-rc1 -> 2.0.0-rc1)

    • 2023-04-03 336643b0 Ensure img is fetched and exists in TinyMCE plugin (#1332) (Guy Sartorelli)
    • 2023-03-13 45e7461a CSS warnings (Sabina Talipova)
    • 2023-03-13 bd6da03b Replaced deprecated React functions (Sabina Talipova)
    • 2023-02-13 f800799a Get JS tests passing again (#1330) (Guy Sartorelli)
    • 2023-02-08 1bb852ea Don't enter infinite loop when saving form (#1329) (Guy Sartorelli)
    • 2023-01-29 0dfc61e0 update react render (#1322) (Guy Sartorelli)
    • 2023-01-10 ba67f151 Correctly reset file details after bulk publish (Guy Sartorelli)
    • 2022-12-08 379ddb52 Cast absoluteUrl() argument to string (Steve Boyd)
    • 2022-09-30 46a25f15 Use correct selection logic for TinyMCE (Guy Sartorelli)
    • 2022-09-30 c29a14b4 Publish assets in WYSIWYG when publishing page. (Guy Sartorelli)
    • 2022-09-19 67d6966c Update plugins to work with TinyMCE 6 (Guy Sartorelli)
  • silverstripe/campaign-admin (1.13.0-rc1 -> 2.0.0-rc1)

    • 2023-03-13 4cce0ff Replaced deprecated CSS and React functions (Sabina Talipova)
  • silverstripe/versioned-admin (1.13.0-rc1 -> 2.0.0-rc1)

    • 2023-03-22 ebca186 ESLint, SASS-Lint warnings (Sabina Talipova)
    • 2023-02-02 90ee112 Use the new HtmlDiff class (Guy Sartorelli)
    • 2023-01-29 5ad5cd4 Remove unused import (#270) (Guy Sartorelli)
  • silverstripe/cms (4.13.0-rc1 -> 5.0.0-rc1)

    • 2023-02-08 93f57d23 Replace Diff class with HtmlDiff (Sabina Talipova)
    • 2023-01-09 b9115f3f Fix anchor select field component (Guy Sartorelli)
    • 2022-12-08 605daf50 Cast absoluteUrl() argument to string (Steve Boyd)
    • 2022-12-05 3186e0e1 Use orderBy() instead of sort() (Steve Boyd)
    • 2022-10-19 af1a482d Loosen config order to allow "after: '*'" in framework (#2793) (Guy Sartorelli)
    • 2022-09-30 bedd6455 Use correct TinyMCE selection logic (Guy Sartorelli)
    • 2022-09-19 7368df87 Fix link plugins to support tinymce6 (Guy Sartorelli)
    • 2022-08-25 803b4add Resolve CI failure (Guy Sartorelli)
    • 2018-05-01 b46876b8 Don't offer to restore to root if can_be_root is false (Mike Cochrane)
  • silverstripe/siteconfig (4.13.0-rc1 -> 5.0.0-rc1)

    • 2023-01-23 4155b889 Bring back empty _config.PHP file (Maxime Rainville)
  • silverstripe/versioned (1.13.0-rc1 -> 2.0.0-rc1)

    • 2023-03-02 04344c7 Remove diff code (Steve Boyd)
    • 2023-02-13 54a0bac Null value in HtmlDiff::compareHtml() (#394) (Sabina Talipova)
    • 2023-02-02 4796ab4 Use the new HtmlDiff class (Guy Sartorelli)
    • 2022-12-15 20e681d Handle a bool return type from DateTime::getLastErrors() (Steve Boyd)
    • 2022-12-05 76fbb52 Ensure sort is not empty (Steve Boyd)
  • silverstripe/graphql (4.3.0-rc1 -> 5.0.0-rc1)

    • 2023-04-04 47e60a8 Reverse conditional (Steve Boyd)
    • 2023-04-04 1816f4c Don't error silently when arguments are enabled (#523) (Guy Sartorelli)
    • 2022-09-12 a52cabd Use symfony6 cache classes (Steve Boyd)
  • silverstripe/recipe-authoring-tools (1.13.0-rc1 -> 2.0.0-rc1)

    • 2022-12-18 0bc9677 Revert wrong merge (#25) (Sabina Talipova)
  • silverstripe/recipe-blog (1.13.0-rc1 -> 2.0.0-rc1)

    • 2022-12-18 8b61de9 Revert wrong merge (#39) (Sabina Talipova)
  • silverstripe/comments (3.10.0-rc1 -> 4.0.0-rc1)

    • 2023-01-19 5c2552e Parameter order (Steve Boyd)
    • 2023-01-19 0048a7a Resolve linting issues (Guy Sartorelli)
  • silverstripe/recipe-collaboration (1.13.0-rc1 -> 2.0.0-rc1)

    • 2022-12-18 880c4b5 Revert wrong merge (#22) (Sabina Talipova)
  • symbiote/silverstripe-advancedworkflow (5.9.0-rc1 -> 6.0.0-rc1)

    • 2023-03-14 a9f1f6c CSS and JS warnings (Sabina Talipova)
  • silverstripe/recipe-form-building (1.13.0-rc1 -> 2.0.0-rc1)

    • 2022-12-18 d56ed8b Revert wrong merge (#24) (Sabina Talipova)
  • silverstripe/recipe-reporting-tools (1.13.0-rc1 -> 2.0.0-rc1)

    • 2022-12-18 11965af Revert wrong merge (#33) (Sabina Talipova)
  • silverstripe/externallinks (2.4.0-rc1 -> 3.0.0-rc1)

    • 2023-03-24 fe056b5 ESLint warnings (Sabina Talipova)
    • 2023-03-06 ef0ee30 Reload External broken links report content when new report was generated (Sabina Talipova)
    • 2023-01-17 8456e46 Use HTMLValue::class (Steve Boyd)
  • silverstripe/versionfeed (2.4.0-rc1 -> 3.0.0-rc1)

    • 2023-02-13 002fbf7 Replace Diff class to HtmlDiff (#80) (Sabina Talipova)
  • silverstripe/recipe-content-blocks (2.13.0-rc1 -> 3.0.0-rc1)

    • 2022-12-18 ccf7737 Revert wrong merge (#29) (Sabina Talipova)
  • dnadesign/silverstripe-elemental (4.11.0-rc1 -> 5.0.0-rc1)

    • 2023-01-26 c552d2e Don't refer to removed class (Guy Sartorelli)
    • 2022-12-08 4cf4027 Cast possibly null link to string (Steve Boyd)
    • 2022-08-29 ce8a102 Use correct return type for permission checks (Guy Sartorelli)
  • cwp/cwp-search (1.8.0-rc1 -> 2.0.0-rc1)

    • 2023-03-02 eaece08 Add slash before search action in Search form URL (Sabina Talipova)
  • silverstripe/fulltextsearch (3.12.0-rc1 -> 4.0.0-rc1)

    • 2023-02-15 72dc54b Always use ?int for subsite state (#341) (Guy Sartorelli)
    • 2023-02-15 4f92bcd Broken builds (Sabina Talipova)
  • symbiote/silverstripe-queuedjobs (4.12.0-rc1 -> 5.0.0-rc1)

    • 2022-12-14 0c18b40 Use record() instead of first() (Steve Boyd)
  • silverstripe/hybridsessions (2.7.0-rc1 -> 3.0.0-rc1)

    • 2023-02-20 6365414 Always return something (Steve Boyd)
    • 2023-02-15 7aede67 Return an emtpy string instead of false from HybridSession::read() (Steve Boyd)
  • silverstripe/developer-docs (4.13.0-rc1 -> 5.0.0-rc1)

    • 2023-02-08 a69490b4 Fix a bunch of API links (Maxime Rainville)
    • 2023-02-08 5cc10ba8 Fix bad GitHub link by poiting to packagist instead. (Maxime Rainville)
    • 2022-09-15 81f4565d Show alpha directory (#89) (Guy Sartorelli)
  • silverstripe/registry (2.6.0-rc1 -> 3.0.0-rc1)

    • 2023-02-13 97987d7 Implement support new league/flysystem v3 (Sabina Talipova)
  • silverstripe/mfa (4.8.0-rc1 -> 5.0.0-rc1)

    • 2023-02-07 fa5b8dc Add back in sudo mode activation on login (Steve Boyd)
    • 2023-01-17 34af8cd Update SecurityAdminExtension::sendResetEmail() to account new returned type for Email::send() (Maxime Rainville)
    • 2023-01-16 8482176 Change the AJAX endpoint to reset the MFA set up for a user (Maxime Rainville)
  • silverstripe/ckan-registry (1.7.0-rc1 -> 2.0.0-rc1)

    • 2023-03-13 bc77572 CSS warnings (Sabina Talipova)
  • silverstripe/webauthn-authenticator (4.7.0-rc1 -> 5.0.0-rc1)

    • 2023-02-07 0523fed Remove padding to work with web-auth/webauthn-lib 4.1.0+ (Steve Boyd)
  • silverstripe/subsites (2.8.0-rc1 -> 3.0.0-rc1)

    • 2023-01-26 80eb9ec Remove wildcard from config (Steve Boyd)
    • 2023-01-19 f50cd3e Parameter order (Steve Boyd)
  • silverstripe/lumberjack (2.3.0 -> 3.0.0-rc1)

    • 2023-01-19 fccf95e Parameter order (Steve Boyd)
  • cwp/starter-theme (3.3.0-rc1 -> 4.0.0-rc1)

    • 2023-01-29 4ddc59c Remove reference to empty CSS file. (#219) (Guy Sartorelli)
  • cwp/agency-extensions (2.8.0-rc1 -> 3.0.0-rc1)

    • 2023-04-03 8d5bbab Do not expose directory that was removed (Steve Boyd)
  • symbiote/silverstripe-gridfieldextensions (3.6.0 -> 4.0.0-rc1)

    • 2023-01-18 fd24736 Use DataList::orderBy() (#353) (Steve Boyd)
  • colymba/gridfield-bulk-editing-tools (3.1.0 -> 4.0.0-beta1)

    • 2023-02-01 563f253 Don't use removed method. (Guy Sartorelli)
  • tractorcow/silverstripe-fluent (4.8.0 -> 7.0.0-beta1)

    • 2023-02-07 d77907f fix: update master alias to new major version 7 (Damian Mooyman)
    • 2023-01-26 bb4891d Don't use removed API (Guy Sartorelli)
    • 2023-01-18 820e1f5 Get fluent to dev/build (Steve Boyd)
    • 2023-01-13 4531289 GitHub actions setup (linting). (Mojmir Fendek)
    • 2022-03-27 b22973f Legacy permissions migration fix. (Mojmir Fendek)
    • 2022-03-27 4a1f86d Explicit PHP version for scrutinizer.. (Mojmir Fendek)
    • 2022-03-25 56337af PHP 8 compatibility patch. (Mojmir Fendek)
    • 2022-03-10 c2d0abe fix: issue with "all CMS sections" permission erroneously handling fluent permissions (Damian Mooyman)
    • 2022-03-01 33ac317 Fix missing locale in callback signature (Rens Korswagen)
    • 2022-02-10 7353136 SiteTree item styles should not trickle down the sub-tree. (Mojmir Fendek)
    • 2022-02-03 32452fb Localisation manager / Live state flag and stages differ correction. (Mojmir Fendek)
    • 2022-01-13 cc1116c Localisation manager / Locale link fix for AJAX requests. (Mojmir Fendek)
    • 2021-11-08 a49afa4 Fix fallback locales chain (Mikhail Shchedrakov)
    • 2021-10-20 6e248c1 Fix for FluentAdminTraitTest. (Mojmir Fendek)
    • 2021-06-18 d9e12b3 Missing version tables related indexes. (Mojmir Fendek)
    • 2021-06-09 15611e0 Localised copy support for ClassName changes. (Mojmir Fendek)
    • 2021-05-20 18d3899 Fix issue with apply_isolated_locales_to_byid = false not respecting many_many joins (Damian Mooyman)
    • 2021-04-29 1666329 GridField buttons UI improvements for versioned models. (Mojmir Fendek)
    • 2021-03-01 12196e3 Fix Travis setup to run with correct requirements. (Mojmir Fendek)
    • 2021-02-08 74aa604 Stages differ in locale correction, Copy-to localise buttons restored. (Mojmir Fendek)
    • 2020-09-02 fa58ad7 Resolve regression in middleware behaviour breaking routing bootstrapping (Damian Mooyman)
    • 2020-07-29 2062c0d Fix invalid test namespaces (Damian Mooyman)
    • 2020-07-28 1cd753a Fix test namespaces (Damian Mooyman)
    • 2020-07-28 d7466ef Fix composer notice on invalid psr-4 path for test files (Damian Mooyman)
    • 2020-07-06 2577a34 fix issue with member permissions erroring before fluent state is initialised (Damian Mooyman)
    • 2020-06-18 81eff09 Fix from / to (Damian Mooyman)
    • 2020-05-20 8c8af6e Fix sitemap x-default reference (Damian Mooyman)
    • 2020-05-20 381a351 Properly handle x-default for home page tags (Damian Mooyman)
    • 2020-05-12 3b1bd95 Fix linting issues (Damian Mooyman)
    • 2020-05-12 a93ad8f Fix unit tests (Damian Mooyman)
    • 2020-05-12 7e5fe14 Fix issue where gridfield has no Actions column (Damian Mooyman)
    • 2020-05-11 5f67c66 Fix tests (Damian Mooyman)
    • 2020-05-11 a41b319 Fix hreflang case issue (Damian Mooyman)
    • 2020-04-09 ec6340a Fix UnpublishAction using incorrect locale (Damian Mooyman)
    • 2020-03-10 01972dc fix issue where rows were not written to _Localised tables (Damian Mooyman)
    • 2020-02-10 d864f5b Fix unit tests for updates to extensions and middleware (Damian Mooyman)
    • 2020-02-10 a8b05ad Fix unit tests (Damian Mooyman)
    • 2020-02-09 44cbe21 Fix unit tests for badge trait (Damian Mooyman)
    • 2020-02-07 ce6eea9 Fix crash on logout (Damian Mooyman)
    • 2019-11-21 68a32aa Fix issue with gridfield actions (Damian Mooyman)
    • 2019-11-20 4a78844 Fix visibility logic issues with versioned records (Damian Mooyman)
    • 2019-11-19 0e87761 Fix dependency constraints (Damian Mooyman)
    • 2019-11-13 780d4f4 Fix issue with slashes in prefix (Damian Mooyman)
    • 2019-11-13 ee951cc Fix unit tests (Damian Mooyman)
    • 2019-11-12 0d2ab8c Fix invalid variable name (Damian Mooyman)

API changes

  • silverstripe/recipe-plugin (1.7.0 -> 2.0.0)

    • 2022-12-07 cb22983 Remove deprecated code (#30) (Sabina Talipova)
    • 2022-10-25 e5dceb4 Update deprecations (#27) (Steve Boyd)
  • silverstripe/vendor-plugin (1.7.0 -> 2.0.0)

    • 2022-12-14 86600ce Make the public folder mandatory (#64) (Guy Sartorelli)
    • 2022-12-07 4e2135f Remove deprecated code (#63) (Sabina Talipova)
    • 2022-08-03 ddbf19a Remove deprecated Library::RESOURCES_PATH const (Guy Sartorelli)
  • silverstripe/assets (1.13.0-rc1 -> 2.0.0-rc1)

    • 2023-01-16 9a1e094 Use more specific return type than those mandated by the interface (Maxime Rainville)
    • 2023-01-10 0784372 Removed ReturnTypeWillChange annotation (Maxime Rainville)
    • 2022-12-07 3495084 Remove deprecated code (#530) (Sabina Talipova)
  • silverstripe/config (1.6.0-rc1 -> 2.0.0-rc1)

    • 2022-12-07 c0cd27a Restore nullable params (Steve Boyd)
    • 2022-12-07 3e7097e Remove deprecated code (#75) (Sabina Talipova)
  • silverstripe/framework (4.13.0-rc1 -> 5.0.0-rc1)

    • 2023-03-21 b4f330d73 Remove configurability of attributes (Steve Boyd)
    • 2023-03-06 6d239d0b8 Remove deprecated code (Steve Boyd)
    • 2023-02-01 603723e8f Rename Diff to HtmlDiff (Guy Sartorelli)
    • 2023-01-26 ec4a8b88e Allow array style email addresses (Steve Boyd)
    • 2023-01-10 99dc6df38 Replace thirdparty difflib with maintained lib (Guy Sartorelli)
    • 2023-01-10 944722f34 Removed #[\ReturnTypeWillChange] annotations (Maxime Rainville)
    • 2022-12-14 b14de847a Make the public directory mandatory (#10617) (Guy Sartorelli)
    • 2022-12-07 53c0147f1 Remove deprecated code (#10594) (Sabina Talipova)
    • 2022-12-06 ae4d7fa09 Create orderBy() method to handle raw SQL (Steve Boyd)
    • 2022-11-30 7860e461e Remove deprecated CIConfig functionality (Steve Boyd)
    • 2022-10-17 a57c7315a Strongly-type action method signatures (Steve Boyd)
    • 2022-10-10 fbcf7dc3e Normalise trailing slashes for all paths (Florian Thoma)
    • 2022-09-19 433926fc1 Remove deprecated TinyMCE generator class (Guy Sartorelli)
    • 2022-09-15 03b929dd3 Remove support for PDO (#10499) (Guy Sartorelli)
    • 2022-09-07 a87a65736 Update translation to use symfony 6 (Steve Boyd)
    • 2022-09-07 c9bc01473 Update caching to use symfony 6 (Steve Boyd)
    • 2022-09-01 1bf86cf39 Revert shorten auto-generated table names (#10482) (Guy Sartorelli)
    • 2022-08-22 a4521a734 Undeprecate table warning message (Guy Sartorelli)
    • 2022-08-11 a76fa32a3 Remove unnecessary getGenerator() method. (Guy Sartorelli)
    • 2022-08-09 3284c0670 Remove PHPUnit 5.7 compatability hacks (Guy Sartorelli)
    • 2022-08-03 37dc0daac Remove deprecated ManifestFileFinder::RESOURCES_DIR const (Guy Sartorelli)
    • 2020-03-16 e42ed95be Update MigrationTask class to be an abstract class (Michal Kleiner)
    • 2018-10-15 f2de39162 Allow dataobject get_one without passing a class (Andrew Aitken-Fincham)
    • 2018-06-08 4cda967ea Preserve variable types in template lookup args (Loz Calver)
    • 2018-06-07 47337782a <% loop %> and <% with %> only ever create one new scope level (Loz Calver)
    • 2018-04-08 08d1cd383 Remove isDev / isTest querystring arguments (Damian Mooyman)
    • 2018-03-01 2c102c61a TestCase classes should be abstract to prevent warnings (Daniel Hensby)
    • 2018-01-12 76fc8f159 Only expose public extension methods (Damian Mooyman)
  • silverstripe/admin (1.13.0-rc1 -> 2.0.0-rc1)

    • 2023-01-10 f4633cae Remove ReturnTypeWillChange annotation (Maxime Rainville)
    • 2022-12-07 33a80f1c Remove deprecated code (#1393) (Sabina Talipova)
    • 2022-10-17 a1e70ed0 Strongly-type action method signatures (Steve Boyd)
    • 2022-09-19 48108c1b Convert SecurityAdmin to be a ModelAdmin (Steve Boyd)
    • 2022-08-06 981d5a93 Migrate SilverStripeNagivator (Guy Sartorelli)
  • silverstripe/asset-admin (1.13.0-rc1 -> 2.0.0-rc1)

    • 2022-12-07 38328d8b Remove deprecated code (#1307) (Sabina Talipova)
    • 2022-10-18 a6eba071 Strongly-type action method signatures (Steve Boyd)
  • silverstripe/campaign-admin (1.13.0-rc1 -> 2.0.0-rc1)

    • 2022-12-07 426db3e Remove deprecated code (#249) (Sabina Talipova)
    • 2022-10-17 af7f3ec Strongly-type action method signatures (Steve Boyd)
  • silverstripe/versioned-admin (1.13.0-rc1 -> 2.0.0-rc1)

    • 2022-12-07 bb10c07 Remove deprecated code (#265) (Sabina Talipova)
    • 2022-10-17 a80b368 Strongly-type action method signatures (Steve Boyd)
    • 2022-09-14 99e50c2 Migrate SilverStripeNagivator (Guy Sartorelli)
  • silverstripe/cms (4.13.0-rc1 -> 5.0.0-rc1)

    • 2023-01-17 97fdff4b Remove deprecated CMSMain::$subitem_class config (#2821) (Maxime Rainville)
    • 2023-01-16 1bd578fc Remove legacy tasks (Steve Boyd)
    • 2022-12-07 0e5428b7 Remove deprecated code (#2800) (Sabina Talipova)
    • 2022-10-18 6e19ae73 Strongly-type action method signatures (Steve Boyd)
    • 2022-08-31 1711c0c8 Move updateRelativeLink hook after concatination (#2770) (Florian Thoma)
    • 2022-08-26 18cb6d49 Normalise trailing slashes in links (Florian Thoma)
    • 2022-08-06 d7857ebb Migrate SilverStripeNagivator classes (Guy Sartorelli)
    • 2019-07-12 cda7857e Remove deprecated CMSPageHistoryViewer (Aaron Carlino)
  • silverstripe/errorpage (1.13.0-rc1 -> 2.0.0-rc1)

    • 2022-10-10 f89cd0b Strongly-type action method signatures (Steve Boyd)
  • silverstripe/versioned (1.13.0-rc1 -> 2.0.0-rc1)

    • 2022-12-07 561275b Remove deprecated code (#381) (Sabina Talipova)
    • 2022-09-01 e2924d2 Symfony 6 compatibility (Steve Boyd)
    • 2018-01-12 9eb2aee Support new extend*() format for extension methods (Damian Mooyman)
  • silverstripe/graphql (4.3.0-rc1 -> 5.0.0-rc1)

    • 2022-12-07 f80bdec Remove deprecated code (#510) (Sabina Talipova)
    • 2022-10-20 14d9ef2 Support of upgrading installer dependencies (#499) (Sabina Talipova)
  • silverstripe/tagfield (2.11.0-rc1 -> 3.0.0-rc1)

    • 2023-01-25 6f203a3 Remove deprecated code (#228) (Sabina Talipova)
  • silverstripe/comments (3.10.0-rc1 -> 4.0.0-rc1)

    • 2023-01-17 ff3ce69 Remove deprecated code (Sabina Talipova)
  • silverstripe/sharedraftcontent (2.9.0-rc1 -> 3.0.0-rc1)

    • 2023-01-25 c2ceb88 Remove deprecated code (#183) (Sabina Talipova)
  • symbiote/silverstripe-advancedworkflow (5.9.0-rc1 -> 6.0.0-rc1)

    • 2023-01-25 99559c5 Remove deprecated code (#476) (Sabina Talipova)
  • silverstripe/userforms (5.15.0-rc1 -> 6.0.0-rc1)

    • 2023-01-25 1ea2b8e Remove deprecated code (#1185) (Sabina Talipova)
  • silverstripe/securityreport (2.6.0-rc1 -> 3.0.0-rc1)

    • 2023-01-25 b2c7a99 Remove deprecated code (#60) (Sabina Talipova)
  • silverstripe/versionfeed (2.4.0-rc1 -> 3.0.0-rc1)

    • 2023-01-25 a753712 Remove deprecated code (#78) (Sabina Talipova)
  • dnadesign/silverstripe-elemental (4.11.0-rc1 -> 5.0.0-rc1)

    • 2023-01-25 f6e0266 Remove deprecated code (#1034) (Sabina Talipova)
    • 2022-11-21 9f0df28 Apply TopPage extensions by default. (#1010) (Guy Sartorelli)
    • 2019-08-02 005f8a9 Remove ElementalSolrIndex (Ingo Schommer)
  • cwp/cwp-search (1.8.0-rc1 -> 2.0.0-rc1)

    • 2023-01-25 d7fb9db Remove deprecated code (#52) (Sabina Talipova)
  • silverstripe/fulltextsearch (3.12.0-rc1 -> 4.0.0-rc1)

    • 2023-01-25 3663996 Remove deprcated code (#336) (Sabina Talipova)
    • 2023-01-20 35340d4 Strongly type iterator classes and remove ReturnTypeWillChange annotation (Maxime Rainville)
  • symbiote/silverstripe-queuedjobs (4.12.0-rc1 -> 5.0.0-rc1)

    • 2023-03-06 40e869c Remove deprecated code (Steve Boyd)
    • 2022-10-26 952727e Use correct typing for new version of monolog (Guy Sartorelli)
  • cwp/cwp-core (2.12.0-rc1 -> 3.0.0-rc1)

    • 2023-01-25 b8a6e11 Remove deprecated code (#115) (Sabina Talipova)
  • silverstripe/auditor (2.6.0-rc1 -> 3.0.0-rc1)

    • 2023-01-25 c20c342 Remove deprecated code (#48) (Sabina Talipova)
  • silverstripe/environmentcheck (2.7.0-rc1 -> 3.0.0-rc1)

    • 2023-01-25 56b3753 Remove deprecated code (#83) (Sabina Talipova)
  • silverstripe/hybridsessions (2.7.0-rc1 -> 3.0.0-rc1)

    • 2023-01-17 67bc3bd Remove deprecated code (Sabina Talipova)
    • 2023-01-13 443a927 Remove ReturnTypeWillChange annotation (Maxime Rainville)
  • silverstripe/registry (2.6.0-rc1 -> 3.0.0-rc1)

    • 2022-12-08 1ff8d18 Update import() signature (Steve Boyd)
  • silverstripe/mfa (4.8.0-rc1 -> 5.0.0-rc1)

    • 2023-01-25 096ea96 Remove deprecated code (#480) (Sabina Talipova)
  • silverstripe/crontask (2.6.0-rc1 -> 3.0.0-rc1)

    • 2023-01-25 412cfeb Remove deprecated code (#73) (Sabina Talipova)
  • silverstripe/ldap (1.6.0-rc1 -> 2.0.0-rc1)

    • 2023-01-25 b9c070e Remove deprecated code (#47) (Sabina Talipova)
    • 2023-01-20 c71c2f0 Remove ReturnTypeWillChange annotation (Maxime Rainville)
  • silverstripe/webauthn-authenticator (4.7.0-rc1 -> 5.0.0-rc1)

    • 2023-02-07 724925d Remove deprecated code (#125) (Sabina Talipova)
  • silverstripe/subsites (2.8.0-rc1 -> 3.0.0-rc1)

    • 2023-03-06 1336c7e Remove deprecated code (Steve Boyd)
    • 2023-01-26 d4bc28e Remove deprecated code (Steve Boyd)
  • cwp/cwp (2.11.0-rc1 -> 3.0.0-rc1)

    • 2023-03-09 0d1927e Remove CwpSiteSummaryExtension (Steve Boyd)
    • 2023-01-25 dec2a6f Remove deprecated code (#318) (Sabina Talipova)
  • colymba/gridfield-bulk-editing-tools (3.1.0 -> 4.0.0-beta1)

    • 2023-01-25 2f7109a Remove deprecated code (#230) (Sabina Talipova)
  • tractorcow/silverstripe-fluent (4.8.0 -> 7.0.0-beta1)

    • 2023-02-16 1af962f Remove deprecated methods. (Guy Sartorelli)
    • 2020-03-19 cf3b646 Add FluentIsolatedExtension for objects which only belong to a single locale (Damian Mooyman)
  • silverstripe/dynamodb (4.1.0 -> 5.0.0-rc1)

    • 2023-02-13 ebc58bf Add strong typing and update code syntax (Guy Sartorelli)


  • silverstripe/recipe-kitchen-sink (4.13.0-rc1 -> 5.0.0-rc1)

    • 2023-02-21 202ccae Stop using the fork of fluent (Guy Sartorelli)
    • 2023-02-14 eb33da1 Add silverstripe/dynamodb (Steve Boyd)
    • 2023-02-08 fea0e62 Add more modules (Steve Boyd)
    • 2023-02-08 36483f4 Use caret for silverstripe/recipe-plugin (Steve Boyd)
    • 2023-01-29 3979d78 Remove silverstripe/security-extensions (Guy Sartorelli)
    • 2023-01-18 6701348 remove cwp/cwp-pdfexport (Steve Boyd)
    • 2022-12-19 cd343c3 PHP Support in CMS5 (Sabina Talipova)
  • silverstripe/recipe-plugin (1.7.0 -> 2.0.0)

    • 2022-10-26 b81b640 Upgrade installer dependencies (Sabina Talipova)
    • 2022-08-04 e0aeb69 Update core dependencies for CMS 5 (Steve Boyd)
  • silverstripe/installer (4.13.0-rc1 -> 5.0.0-rc1)

    • 2023-02-07 7b49f0e Use caret for plugins (Steve Boyd)
    • 2022-12-14 406ee71 Require dev branches for composer plugins (#340) (Guy Sartorelli)
    • 2022-08-04 8ca19d5 Update core dependencies for CMS 5 (Steve Boyd)
  • silverstripe/vendor-plugin (1.7.0 -> 2.0.0)

    • 2022-10-26 6d322f9 Upgrade installer dependencies (Sabina Talipova)
    • 2022-08-09 c2e1c7f Require composer/installers ^2 (Steve Boyd)
    • 2022-08-04 de85c78 Update core dependencies for CMS 5 (Steve Boyd)
  • silverstripe/recipe-cms (4.13.0-rc1 -> 5.0.0-rc1)

    • 2022-08-04 6e7dce8 Update core dependencies for CMS 5 (Steve Boyd)
  • silverstripe/recipe-core (4.13.0-rc1 -> 5.0.0-rc1)

    • 2022-08-09 7716a27 Update dependencies for CMS 5 (Steve Boyd)
    • 2022-08-04 5a447f9 Update core dependencies for CMS 5 (Steve Boyd)
  • silverstripe/assets (1.13.0-rc1 -> 2.0.0-rc1)

    • 2022-10-31 a2733b9 Upgrade legue/flysystem to version 3.0 (#524) (Sabina Talipova)
    • 2022-09-01 32dd083 Require symfony ^6.1 (Steve Boyd)
    • 2022-08-09 22ab6c3 Update dependencies for CMS 5 (Steve Boyd)
    • 2022-08-04 35fd723 Update core dependencies for CMS 5 (Steve Boyd)
  • silverstripe/config (1.6.0-rc1 -> 2.0.0-rc1)

    • 2023-03-17 e4a66ae Decouple from silverstripe/framework (Guy Sartorelli)
    • 2022-10-25 48b1336 Upgrade dependencies CMS5 (Sabina Talipova)
    • 2022-09-01 6ec9ca3 Require symfony ^6.1 (Steve Boyd)
    • 2022-08-09 b00bfbc Require latest patch versions of dependencies (Steve Boyd)
    • 2022-08-04 52a9dd5 Update core dependencies for CMS 5 (Steve Boyd)
  • silverstripe/framework (4.13.0-rc1 -> 5.0.0-rc1)

    • 2023-03-02 9868eca7e Bump masterminds/html5 to 2.7.6 to fix deperaction warning (#10714) (Maxime Rainville)
    • 2023-01-16 05fc1df89 Allow psr/container ^1.1 or ^2.0 (Steve Boyd)
    • 2023-01-11 7c20ade54 Replace thirdparty simpletest with symfony domcrawler (Guy Sartorelli)
    • 2023-01-10 3f3772dc6 Remove unnecessary bramus/monolog-colored-line-formatter (Guy Sartorelli)
    • 2022-12-21 156c6ca59 Update minimum version of oscarotero/html-parser (Steve Boyd)
    • 2022-10-20 3601b7ab8 Upgrade installer dependencies (#10534) (Sabina Talipova)
    • 2022-09-01 e6fb9634b Revert change to dependency that was made during a merge-up (#10479) (Guy Sartorelli)
    • 2022-08-09 470753194 Update dependencies for CMS 5 (Steve Boyd)
    • 2022-08-04 eb62db6db Update core dependencies for CMS 5 (Steve Boyd)
  • silverstripe/mimevalidator (2.5.0-rc1 -> 3.0.0-rc1)

    • 2022-10-26 d0982dc Upgrade installer dependencies (Sabina Talipova)
    • 2022-08-09 19251bf Update dependencies for CMS 5 (Steve Boyd)
    • 2022-08-04 c8916a3 Update core dependencies for CMS 5 (Steve Boyd)
  • silverstripe/admin (1.13.0-rc1 -> 2.0.0-rc1)

    • 2022-12-18 2b8f53e9 Upgrade front-end build stack (#1389) (Guy Sartorelli)
    • 2022-09-19 e8f3f353 Upgrade TinyMCE from 4 to 6 (Guy Sartorelli)
    • 2022-08-09 5fc5071c Update dependencies for CMS 5 (Steve Boyd)
    • 2022-08-04 c80be4ee Update core dependencies for CMS 5 (Steve Boyd)
  • silverstripe/asset-admin (1.13.0-rc1 -> 2.0.0-rc1)

    • 2022-12-18 6b95cde8 Upgrade build stack (#1303) (Guy Sartorelli)
    • 2022-08-09 c12dcfe4 Update dependencies for CMS 5 (Steve Boyd)
    • 2022-08-04 1ad9dcd2 Update core dependencies for CMS 5 (Steve Boyd)
  • silverstripe/campaign-admin (1.13.0-rc1 -> 2.0.0-rc1)

    • 2022-12-18 708e384 Upgrade build stack (#248) (Guy Sartorelli)
    • 2022-08-09 45b4b3c Update dependencies for CMS 5 (Steve Boyd)
    • 2022-08-04 7c949f2 Update core dependencies for CMS 5 (Steve Boyd)
  • silverstripe/versioned-admin (1.13.0-rc1 -> 2.0.0-rc1)

    • 2022-12-18 afc0dbd Upgrade webpack build stack (#263) (Guy Sartorelli)
    • 2022-10-26 c26a921 Upgrade installer dependencies (Sabina Talipova)
    • 2022-08-04 6c60865 Update core dependencies for CMS 5 (Steve Boyd)
  • silverstripe/cms (4.13.0-rc1 -> 5.0.0-rc1)

    • 2022-12-18 5e843d26 Upgrade build stack (#2795) (Guy Sartorelli)
    • 2022-08-09 7381de15 Update dependencies for CMS 5 (Steve Boyd)
    • 2022-08-04 72f8e5f7 Update core dependencies for CMS 5 (Steve Boyd)
  • silverstripe/errorpage (1.13.0-rc1 -> 2.0.0-rc1)

    • 2022-08-09 f5a177c Update dependencies for CMS 5 (Steve Boyd)
    • 2022-08-04 5700408 Update core dependencies for CMS 5 (Steve Boyd)
  • silverstripe/reports (4.13.0-rc1 -> 5.0.0-rc1)

    • 2022-10-26 23786e5d Upgrade installer dependencies (Sabina Talipova)
    • 2022-08-04 65bc353f Update core dependencies for CMS 5 (Steve Boyd)
  • silverstripe/siteconfig (4.13.0-rc1 -> 5.0.0-rc1)

    • 2022-10-26 30197074 Upgrade installer dependencies (Sabina Talipova)
    • 2022-08-04 400b82c4 Update core dependencies for CMS 5 (Steve Boyd)
  • silverstripe/versioned (1.13.0-rc1 -> 2.0.0-rc1)

    • 2022-10-26 3f55378 Upgrade installer dependencies (Sabina Talipova)
    • 2022-08-04 c9dbdd6 Update core dependencies for CMS 5 (Steve Boyd)
  • silverstripe/graphql (4.3.0-rc1 -> 5.0.0-rc1)

    • 2023-01-13 1149129 Use webonyx/graphq-PHP 15 (Steve Boyd)
    • 2022-10-26 32d25c7 Upgrade installer dependencies (Sabina Talipova)
    • 2022-08-09 5b5971f Update dependencies for CMS 5 (Steve Boyd)
    • 2022-08-04 e63d41d Update core dependencies for CMS 5 (Steve Boyd)
  • silverstripe/session-manager (1.5.0-rc1 -> 2.0.0-rc1)

    • 2022-12-18 4043291 Upgrade build stack (#123) (Guy Sartorelli)
    • 2022-08-17 8712b4b Update dependencies for CMS 5 (Steve Boyd)
    • 2022-08-04 e0092bf Update core dependencies for CMS 5 (Steve Boyd)
  • silverstripe/login-forms (4.9.0-rc1 -> 5.0.0-rc1)

    • 2022-12-18 4f4e68e Upgrade build stack (#128) (Guy Sartorelli)
    • 2022-08-09 89769f4 Update dependencies for CMS 5 (Steve Boyd)
    • 2022-08-04 7948d1e Update core dependencies for CMS 5 (Steve Boyd)
  • silverstripe/recipe-authoring-tools (1.13.0-rc1 -> 2.0.0-rc1)

    • 2022-12-18 3ec9b66 PHP Support in CMS5 (Sabina Talipova)
  • silverstripe/documentconverter (2.5.0-rc1 -> 3.0.0-rc1)

    • 2023-01-31 fc23e53 Upgrade frontend build stack (#38) (Guy Sartorelli)
    • 2022-12-18 5bbaed1 PHP Support in CMS5 (#35) (Sabina Talipova)
  • silverstripe/iframe (2.4.0-rc1 -> 3.0.0-rc1)

    • 2023-01-10 031d47c PHP Support in CMS5 (#63) (Sabina Talipova)
  • silverstripe/tagfield (2.11.0-rc1 -> 3.0.0-rc1)

    • 2023-02-01 249842f Upgrade frontend build stack (#229) (Guy Sartorelli)
    • 2022-12-18 08d1646 PHP Support in CMS5 (#224) (Sabina Talipova)
  • silverstripe/taxonomy (2.5.0-rc1 -> 3.0.0-rc1)

    • 2022-12-18 95a13ed PHP Support in CMS5 (#85) (Sabina Talipova)
  • silverstripe/recipe-blog (1.13.0-rc1 -> 2.0.0-rc1)

    • 2022-12-18 3e5a612 PHP Support in CMS5 (Sabina Talipova)
  • silverstripe/blog (3.12.0-rc1 -> 4.0.0-rc1)

    • 2023-02-07 ffea8ac Upgrade frontend build stack (#697) (Guy Sartorelli)
    • 2022-12-09 29f0b39 PHP Support in CMS5 (Sabina Talipova)
  • silverstripe/widgets (2.4.0-rc1 -> 3.0.0-rc1)

    • 2023-01-09 9df1794 PHP Support in CMS5 (#193) (Sabina Talipova)
  • silverstripe/content-widget (2.4.0 -> 3.0.0-rc1)

    • 2022-12-18 0b65d10 PHP Support in CMS5 (#35) (Sabina Talipova)
  • silverstripe/spamprotection (3.4.0-rc1 -> 4.0.0-rc1)

    • 2022-12-13 d669b42 PHP Support in CMS5 (Sabina Talipova)
  • silverstripe/comments (3.10.0-rc1 -> 4.0.0-rc1)

    • 2023-01-20 3aee737 Upgrade frontend build stack (Guy Sartorelli)
    • 2022-12-09 d6b44f2 PHP Support in CMS5 (Sabina Talipova)
  • silverstripe/comment-notifications (2.4.0-rc1 -> 3.0.0-rc1)

    • 2023-02-07 11528c7 Explicitly require framework (Steve Boyd)
    • 2022-12-09 5fed9b2 PHP Support in CMS5 (Sabina Talipova)
  • silverstripe/recipe-collaboration (1.13.0-rc1 -> 2.0.0-rc1)

    • 2023-01-10 30038f1 PHP Support in CMS5 (#21) (Sabina Talipova)
  • silverstripe/contentreview (4.7.0-rc1 -> 5.0.0-rc1)

    • 2023-01-30 dc66fe8 Upgrade frontend build stack (#182) (Guy Sartorelli)
    • 2023-01-09 f4b409e PHP Support in CMS5 (#178) (Sabina Talipova)
  • silverstripe/sharedraftcontent (2.9.0-rc1 -> 3.0.0-rc1)

    • 2023-01-30 2ae00a0 Upgrade build stack (#186) (Guy Sartorelli)
    • 2022-12-18 ecb33ba PHP Support in CMS5 (#181) (Sabina Talipova)
  • symbiote/silverstripe-advancedworkflow (5.9.0-rc1 -> 6.0.0-rc1)

    • 2023-02-07 6f8b057 Upgrade frontend build stack (#478) (Guy Sartorelli)
    • 2023-01-10 579fbb0 PHP Support in CMS5 (#474) (Sabina Talipova)
  • silverstripe/recipe-form-building (1.13.0-rc1 -> 2.0.0-rc1)

    • 2022-12-18 317c7c2 PHP Support in CMS5 (Sabina Talipova)
  • silverstripe/segment-field (2.8.0-rc1 -> 3.0.0-rc1)

    • 2023-01-31 e431f24 Upgrade frontend build stack (#74) (Guy Sartorelli)
    • 2022-12-18 c820963 PHP Support in CMS5 (#72) (Sabina Talipova)
  • silverstripe/userforms (5.15.0-rc1 -> 6.0.0-rc1)

    • 2023-01-30 1c0dd09 Upgrade frontend build stack (#1191) (Guy Sartorelli)
    • 2022-12-13 2b9d983 PHP Support in CMS5 (Sabina Talipova)
  • silverstripe/recipe-reporting-tools (1.13.0-rc1 -> 2.0.0-rc1)

    • 2022-12-18 adcb4e1 PHP Support in CMS5 (Sabina Talipova)
  • silverstripe/externallinks (2.4.0-rc1 -> 3.0.0-rc1)

    • 2023-01-30 8ce91fb Upgrade frontend build stack (#90) (Guy Sartorelli)
    • 2022-12-18 fc8f9d5 PHP Support in CMS5 (#87) (Sabina Talipova)
  • silverstripe/securityreport (2.6.0-rc1 -> 3.0.0-rc1)

    • 2023-01-10 731da75 PHP Support in CMS5 (#59) (Sabina Talipova)
  • silverstripe/sitewidecontent-report (3.4.0-rc1 -> 4.0.0-rc1)

    • 2023-01-30 5e5ab46 Upgrade frontend build stack (#59) (Guy Sartorelli)
    • 2023-01-10 8b12ef8 PHP Support in CMS5 (#57) (Sabina Talipova)
  • bringyourownideas/silverstripe-maintenance (2.7.0-rc1 -> 3.0.0-rc1)

    • 2023-01-31 1ecb60e Upgrade frontend build stack (#187) (Guy Sartorelli)
    • 2022-12-08 9cadfaf PHP Support in CMS5 (Sabina Talipova)
  • bringyourownideas/silverstripe-composer-update-checker (3.0.0 -> 4.0.0-rc1)

    • 2022-12-08 3c9044b PHP Support in CMS5 (Sabina Talipova)
  • silverstripe/recipe-services (1.13.0-rc1 -> 2.0.0-rc1)

    • 2023-01-10 4ff9f8c PHP Support in CMS5 (#23) (Sabina Talipova)
  • silverstripe/restfulserver (2.6.0-rc1 -> 3.0.0-rc1)

    • 2022-12-18 d788f5d PHP Support in CMS5 (#102) (Sabina Talipova)
  • silverstripe/versionfeed (2.4.0-rc1 -> 3.0.0-rc1)

    • 2023-01-10 9b92ba8 PHP Support in CMS5 (#77) (Sabina Talipova)
  • silverstripe/recipe-content-blocks (2.13.0-rc1 -> 3.0.0-rc1)

    • 2023-01-17 522442c PHP Support in CMS5 (#28) (Sabina Talipova)
  • dnadesign/silverstripe-elemental (4.11.0-rc1 -> 5.0.0-rc1)

    • 2023-01-13 bfed1ab Upgrade front-end build stack (Guy Sartorelli)
    • 2022-08-10 02c3ed0 Update dependencies for CMS 5 (Steve Boyd)
  • silverstripe/elemental-fileblock (2.5.0-rc1 -> 3.0.0-rc1)

    • 2022-12-12 405c688 PHP Support in CMS5 (Sabina Talipova)
  • silverstripe/elemental-bannerblock (2.7.0-rc1 -> 3.0.0-rc1)

    • 2023-01-30 91190b8 Upgrade frontend build stack (#98) (Guy Sartorelli)
    • 2023-01-16 732f442 Loosen the elemental constrain to avoid conflicts on other PRs (Maxime Rainville)
    • 2022-12-12 e9cac1b PHP Support in CMS5 (Sabina Talipova)
  • silverstripe/recipe-solr-search (2.13.0-rc1 -> 3.0.0-rc1)

    • 2022-12-18 bf4c9ab PHP Support in CMS5 (Sabina Talipova)
  • cwp/cwp-search (1.8.0-rc1 -> 2.0.0-rc1)

    • 2023-01-17 c47f5a4 PHP Support in CMS5 (#51) (Sabina Talipova)
  • silverstripe/fulltextsearch (3.12.0-rc1 -> 4.0.0-rc1)

    • 2022-12-12 525eb9a PHP Support in CMS5 (Sabina Talipova)
  • symbiote/silverstripe-queuedjobs (4.12.0-rc1 -> 5.0.0-rc1)

    • 2022-08-10 4db7317 Update dependencies for CMS 5 (Steve Boyd)
  • silverstripe/recipe-ccl (2.13.0-rc1 -> 3.0.0-rc1)

    • 2023-01-17 9f43099 PHP Support in CMS5 (#7) (Sabina Talipova)
  • cwp/cwp-core (2.12.0-rc1 -> 3.0.0-rc1)

    • 2023-01-17 0e416b0 PHP Support in CMS5 (#114) (Sabina Talipova)
  • silverstripe/auditor (2.6.0-rc1 -> 3.0.0-rc1)

    • 2023-01-17 e5162c8 PHP Support in CMS5 (#47) (Sabina Talipova)
  • silverstripe/environmentcheck (2.7.0-rc1 -> 3.0.0-rc1)

    • 2022-12-18 d038843 PHP Support in CMS5 (#82) (Sabina Talipova)
  • silverstripe/hybridsessions (2.7.0-rc1 -> 3.0.0-rc1)

    • 2022-12-12 495ebfb PHP Support in CMS5 (Sabina Talipova)
  • silverstripe/registry (2.6.0-rc1 -> 3.0.0-rc1)

    • 2022-08-04 212ad7d Update core dependencies for CMS 5 (Steve Boyd)
  • silverstripe/totp-authenticator (4.6.0-rc1 -> 5.0.0-rc1)

    • 2023-03-08 0973c8c Require spomky-labs/otphp ^11.1 (Steve Boyd)
    • 2023-01-30 2518a69 Upgrade frontend build stack (#109) (Guy Sartorelli)
    • 2023-01-17 113f966 PHP Support in CMS5 (#107) (Sabina Talipova)
  • silverstripe/mfa (4.8.0-rc1 -> 5.0.0-rc1)

    • 2023-01-30 9859c77 Remove silverstripe/security-extensions dependency (Guy Sartorelli)
    • 2023-01-30 a86914c Upgrade frontend build stack (#481) (Guy Sartorelli)
    • 2022-12-13 99b454b PHP Support in CMS5 (Sabina Talipova)
  • silverstripe/crontask (2.6.0-rc1 -> 3.0.0-rc1)

    • 2022-12-18 463023e PHP Support in CMS5 (#72) (Sabina Talipova)
  • silverstripe/gridfieldqueuedexport (2.8.0-rc1 -> 3.0.0-rc1)

    • 2023-01-31 65963b5 Upgrade frontend build stack (#71) (Guy Sartorelli)
    • 2022-12-18 7cd8e1d PHP Support in CMS5 (#69) (Sabina Talipova)
  • silverstripe/ldap (1.6.0-rc1 -> 2.0.0-rc1)

    • 2022-12-12 5b77ab8 PHP Support in CMS5 (Sabina Talipova)
  • silverstripe/textextraction (3.5.0-rc1 -> 4.0.0-rc1)

    • 2022-12-13 862fb81 PHP Support in CMS5 (Sabina Talipova)
  • silverstripe/realme (4.4.0-rc1 -> 5.0.0-rc1)

    • 2023-01-31 aae6510 Upgrade frontend build stack (#94) (Guy Sartorelli)
    • 2022-12-18 3fd94ed PHP Support in CMS5 (#92) (Sabina Talipova)
  • silverstripe/ckan-registry (1.7.0-rc1 -> 2.0.0-rc1)

    • 2023-01-29 5b2ded4 Upgrade frontend build stack (#281) (Guy Sartorelli)
    • 2022-12-09 1d70aa5 PHP Support in CMS5 (Sabina Talipova)
  • silverstripe/webauthn-authenticator (4.7.0-rc1 -> 5.0.0-rc1)

    • 2023-01-30 1e8cfb3 Upgrade frontend build stack (#126) (Guy Sartorelli)
    • 2022-12-13 33d4507 PHP Support in CMS5 (Sabina Talipova)
  • silverstripe/subsites (2.8.0-rc1 -> 3.0.0-rc1)

    • 2023-01-24 47e293b Upgrade frontend build stack (Guy Sartorelli)
    • 2023-01-10 a67b7ef PHP Support in CMS5 (#497) (Sabina Talipova)
  • silverstripe/lumberjack (2.3.0 -> 3.0.0-rc1)

    • 2023-01-31 7a953b0 Upgrade frontend build stack (#117) (Guy Sartorelli)
    • 2022-12-18 e238865 PHP Support in CMS5 (#114) (Sabina Talipova)
  • silverstripe/staticpublishqueue (5.3.0 -> 6.0.0-rc1)

    • 2022-12-18 5432813 PHP Support in CMS5 (#157) (Sabina Talipova)
  • cwp/starter-theme (3.3.0-rc1 -> 4.0.0-rc1)

    • 2022-12-18 a12e58a PHP Support in CMS5 (#216) (Sabina Talipova)
  • cwp/agency-extensions (2.8.0-rc1 -> 3.0.0-rc1)

    • 2023-01-31 8e40f56 Upgrade frontend build stack (#82) (Guy Sartorelli)
    • 2023-01-17 3d1ae3d PHP Support in CMS5 (#81) (Sabina Talipova)
  • cwp/watea-theme (3.2.0-rc1 -> 4.0.0-rc1)

    • 2022-12-18 0b71677 PHP Support in CMS5 (#159) (Sabina Talipova)
  • cwp/cwp (2.11.0-rc1 -> 3.0.0-rc1)

    • 2023-01-17 ac2a374 PHP Support in CMS5 (#317) (Sabina Talipova)
  • dnadesign/silverstripe-elemental-userforms (3.3.0-rc1 -> 4.0.0-rc1)

    • 2022-12-09 98ebc6f PHP Support in CMS5 (Sabina Talipova)
  • symbiote/silverstripe-multivaluefield (5.4.0-rc1 -> 6.0.0-rc1)

    • 2023-01-31 95b8cea Upgrade frontend build stack (#88) (Guy Sartorelli)
    • 2022-12-18 ab0bf06 PHP Support in CMS5 (#86) (Sabina Talipova)
  • symbiote/silverstripe-gridfieldextensions (3.6.0 -> 4.0.0-rc1)

    • 2022-08-10 d0c0cc0 Update dependencies for CMS 5 (Steve Boyd)
  • colymba/gridfield-bulk-editing-tools (3.1.0 -> 4.0.0-beta1)

    • 2023-01-18 dfcc4ce Upgrade frontend build stack (Guy Sartorelli)
    • 2022-12-18 1ec807c PHP Support in CMS5 (#228) (Sabina Talipova)
  • tractorcow/silverstripe-fluent (4.8.0 -> 7.0.0-beta1)

    • 2023-01-26 e85e5b8 Upgrade frontend build stack (Guy Sartorelli)
    • 2023-01-18 0d9fc05 Upgrade dependencies for CMS 5 compatibility (Maxime Rainville)
    • 2020-12-14 f31e2c0 Bump ini from 1.3.4 to 1.3.7 (#661) (dependabot[bot])
    • 2020-09-04 da92793 Bump node-sass from 4.6.0 to 4.14.1 (dependabot[bot])
    • 2020-09-04 6371f64 Bump is-my-json-valid from 2.16.1 to 2.20.5 (dependabot[bot])
    • 2020-09-04 7e51d10 Bump lodash.mergewith from 4.6.0 to 4.6.2 (dependabot[bot])
    • 2020-07-30 4588efd Bump elliptic from 6.4.0 to 6.5.3 (dependabot[bot])
    • 2020-04-30 5906b6c Bump jQuery from 3.2.1 to 3.5.0 (dependabot[bot])
  • silverstripe/dynamodb (4.1.0 -> 5.0.0-rc1)

    • 2023-02-12 1f8e3b4 Upgrade dependencies for CMS 5 compatability (Guy Sartorelli)


  • silverstripe/developer-docs (4.13.0-rc1 -> 5.0.0-rc1)

    • 2023-03-21 d00ef6bd Handle email send exceptions (Steve Boyd)
    • 2023-03-20 9f8e25e2 Remove references to PDO (Steve Boyd)
    • 2023-03-13 682e8de5 Document setting summary by default (#93) (Guy Sartorelli)
    • 2023-03-13 f0f83591 Document changes to the updateRelativeLink (#75) (Guy Sartorelli)
    • 2023-03-13 c58bac41 Fix preview docs link and info (#99) (Guy Sartorelli)
    • 2023-03-08 5ce64db4 Add fluent changes and upgrade guides (#176) (Guy Sartorelli)
    • 2023-02-27 367a4b09 Change react-router constraint in 5.0 changelog (#168) (Guy Sartorelli)
    • 2023-02-24 915e19f8 Document some behaviours that aren't supported anymore (Guy Sartorelli)
    • 2023-02-24 58480822 Move templates to where it should be. (Guy Sartorelli)
    • 2023-02-24 9fee07d8 Remove 4.x alpha changelogs (Guy Sartorelli)
    • 2023-02-23 32ca3d0e Clarification for some removed deprecated class and methods in 5.0.0 and 5.0.0-beta1 (Sabina Talipova)
    • 2023-02-21 b9f820dd DBComposite dynamic data (Steve Boyd)
    • 2023-02-16 42aac1fe StaticPublishQueue is now opt-in (Steve Boyd)
    • 2023-02-14 1782bef5 Update docs for deprecations (#160) (Guy Sartorelli)
    • 2023-02-09 282c839d Rearrange 5.0.0-beta1 changelog (Steve Boyd)
    • 2023-02-09 4cfe9d1c Update 5.0.0-beta1 changelog (Steve Boyd)
    • 2023-02-08 f9fed249 Last changes for the changelog before beta release (#154) (Guy Sartorelli)
    • 2023-02-08 8b5ac996 5.0.0 changelog removed and changed API (Steve Boyd)
    • 2023-02-01 1c427090 Add supported module (Maxime Rainville)
    • 2023-01-30 a2e18b5a New limit behaviour (Maxime Rainville)
    • 2023-01-30 a9a435ea Document features from security-extensions (Guy Sartorelli)
    • 2023-01-30 ac19d46f Document changes required to upgrade build stack (#137) (Guy Sartorelli)
    • 2023-01-26 23e2e6a8 Update docs to include new FormField validation hook (Loz Calver)
    • 2023-01-26 6bef21e2 Update Email docs (Steve Boyd)
    • 2023-01-20 77c8932b Define what can be merge post beta (Maxime Rainville)
    • 2023-01-19 67aa583d parameter order (Steve Boyd)
    • 2023-01-17 9482f5ed Document changes to trailing slash in URLs (Guy Sartorelli)
    • 2023-01-17 9270e025 Removed HTMLValue shorthand (Steve Boyd)
    • 2023-01-17 05178763 Mark the removal of subitem_class config (Maxime Rainville)
    • 2023-01-16 035c139d masterminds/html5 (Steve Boyd)
    • 2023-01-16 4f1ad36f List which classes had ReturnTypeWillChange annotation removed (Maxime Rainville)
    • 2022-12-20 995b414e Update changelog with breaking JS changes (Guy Sartorelli)
    • 2022-12-20 2252967e Update JavaScript docs (Guy Sartorelli)
    • 2022-12-20 deb228b3 Update entwine docs to match current behaviour (Guy Sartorelli)
    • 2022-12-20 3d26b219 Add entwine docs from readme (Guy Sartorelli)
    • 2022-12-05 c0599764 DataList::sort() and orderBy() (Steve Boyd)
    • 2022-11-21 ef798631 Document adding TopPage extensions by default (#94) (Guy Sartorelli)
    • 2022-10-18 a44164ab Updates for symfony/mailer (Steve Boyd)
    • 2022-10-18 aeded78b Document controller method signatures (Steve Boyd)
    • 2022-09-27 6d057eb6 Document upgrading to TinyMCE 6 (Guy Sartorelli)
    • 2022-09-19 11123b44 Document SecurityAdmin extending ModelAdmin (Steve Boyd)
    • 2022-09-15 ebe0e9dc Document breaking changes to template syntax (#81) (Guy Sartorelli)
    • 2022-09-15 4363fbfa Changelog for 5.0.0-alpha1 (Steve Boyd)
    • 2022-09-14 e4b01832 Fix links from upgrade docs (#66) (Guy Sartorelli)
    • 2022-09-14 b58b556d Document making models previewable via extensions (Guy Sartorelli)
    • 2022-09-14 db79fc5b Move upgrade docs into changelog for 5.0.0 (#84) (Guy Sartorelli)
    • 2022-09-07 1f87c415 Document symfony 6 dependency changes (Steve Boyd)
    • 2022-09-01 09472a53 Document removal of HistoryControllerFactory (#71) (Guy Sartorelli)
    • 2022-09-01 b497e270 Document reverting a change to table names (#78) (Guy Sartorelli)
    • 2022-08-31 a1d8a3fe Document changes in various rescued master commits (#70) (Guy Sartorelli)
    • 2022-08-10 9ca7cee9 Document removing deprecated support for PHPUnit 5.7 (Guy Sartorelli)
    • 2022-08-08 e933bcef Document breaking changes for updating resources dir (#58) (Guy Sartorelli)
    • 2022-08-07 c9cd71e0 Document SilverStripeNavigator for front-end use (Guy Sartorelli)
    • 2022-08-07 168a8c7f Document breaking changes from migrating SilverStripeNavigator (Guy Sartorelli)
    • 2022-08-05 79dcb6ae Remove references to GraphQL v3 (Guy Sartorelli)
    • 2022-07-21 c8dc5b9c Update references to CMS 3 and 4 (Guy Sartorelli)

Other changes

  • silverstripe/framework (4.13.0-rc1 -> 5.0.0-rc1)

    • 2023-02-22 c82d11ef7 Add isFlushed() to Kernel interface (Chris Penny)
    • 2023-02-22 0633f2ed0 Add kitchensink fields to formfield validation test (Loz Calver)
    • 2022-09-01 06b13e0fa Revert "Merge pull request #10450 from creative-commoners/pulls/5/rescue-master-generators" (#10483) (Guy Sartorelli)
    • 2017-06-28 81beddc16 Add deprecated method to make CMS tests work (Sam Minnee)
    • 2017-06-28 9c7ecb1f7 Further work on Loz’ solution (Sam Minnee)
    • 2017-06-28 850482138 Proposed solution for caching template generator counts (Loz Calver)
    • 2017-06-28 749405170 Update MySQLDatabaseTest to work with new query iterators (Loz Calver)
    • 2017-01-16 2ead3746d Replace Map_Iterator with a generator. (Sam Minnee)
  • silverstripe/cms (4.13.0-rc1 -> 5.0.0-rc1)

    • 2023-01-29 b02beba7 Resolve a couple of behat issues (#2830) (Guy Sartorelli)
    • 2022-11-21 003f9ba7 Revert "Merge branch '4' into 5" (Guy Sartorelli)
  • dnadesign/silverstripe-elemental (4.11.0-rc1 -> 5.0.0-rc1)

    • 2023-03-06 27f2622 Prevent mapStateToProps re-rendering on formstate changes (Bernie Hamlin)
  • silverstripe/developer-docs (4.13.0-rc1 -> 5.0.0-rc1)

    • 2023-02-08 52afbd06 Last bit of feedback (Maxime Rainville)
    • 2023-02-08 d2b83aed Tweak spacing (Maxime Rainville)
    • 2023-02-08 1d6c051c Replace references to "official support" with "commercial support" (Maxime Rainville)
    • 2023-02-08 2e2518fc Add a bigger explanation about composer/installer (Maxime Rainville)
    • 2023-02-08 2f5f3e49 Clarify expectation for testing of community supported module (Maxime Rainville)
    • 2023-02-08 79570c2a Better last step for converting a module (Maxime Rainville)
    • 2023-02-08 1fa3b6b0 Remove failded builds that are now green. (Maxime Rainville)
    • 2023-02-08 283fb693 Link to contribution guideline. (Maxime Rainville)
    • 2023-02-08 e6f9da37 Add missing backticks (Maxime Rainville)
    • 2023-02-08 428d5a41 Bring back line pointing the call for maintainers for some old TinyMCE plugin. (Maxime Rainville)
    • 2023-02-08 4ff1354a Mark beta changelog as unreleased. (Maxime Rainville)
    • 2023-02-07 fa9fe88c Tweaks (Maxime Rainville)
    • 2023-02-07 6059447c Clean up a bunch of class references (Maxime Rainville)
    • 2023-02-07 c4f1aa5a Apply feedback from peer review (Maxime Rainville)
    • 2023-01-31 84e48277 Apply suggestions from code review (Maxime Rainville)
    • 2023-01-22 c021f5b3 Apply suggestions from code review (Maxime Rainville)
  • silverstripe/staticpublishqueue (5.3.0 -> 6.0.0-rc1)

    • 2023-03-30 2546677 Bugfix: Use copy() and unlink() instead of rename() (Chris Penny)
  • tractorcow/silverstripe-fluent (4.8.0 -> 7.0.0-beta1)

    • 2023-02-07 b3e55b9 chore: remove redundant alias (Damian Mooyman)
    • 2022-04-28 37b5e16 Minor grammatical correction (Fred Condo)
    • 2022-03-25 bb46d9d Lowering minimum PHP version to see if we can support it. (Mojmir Fendek)
    • 2022-03-25 bf37abb Fixes. (Mojmir Fendek)
    • 2022-03-10 10131cd chore: update 5 alias to 5.2 (Damian Mooyman)
    • 2022-02-28 98db572 Update FluentAdminTrait.PHP (Rens Korswagen)
    • 2021-11-04 9ac7305 allow PHP 8 (bumbus)
    • 2021-10-18 7acbe4e feat(locale admin): add hook to update fluent locales (Oliver)
    • 2021-10-04 5384deb Italian translation (Giancarlo Di Massa)
    • 2021-07-12 e120dce feat(site tree extension): add option to disable locale prepend to link (norden-oliver)
    • 2021-06-30 d68e490 Update src/Extension/FluentExtension.PHP (Damian Mooyman)
    • 2021-06-27 37aec66 Consolidate some redundant logic in code (Damian Mooyman)
    • 2021-06-18 4d386be PR fixes. (Mojmir Fendek)
    • 2021-06-16 0cb3b6c PR fixes. (Mojmir Fendek)
    • 2021-05-23 cd9279d Unit tests for locale switching (Damian Mooyman)
    • 2021-05-23 31528e2 Remove redundant phpdoc (Damian Mooyman)
    • 2021-05-23 810bcef Implement unit tests (Damian Mooyman)
    • 2021-05-23 f0043fd Adjust setters / getters (Damian Mooyman)
    • 2021-05-21 a281899 FEATURE: Add timezone field to CMS to allow dates to be shown in local timezone (Damian Mooyman)
    • 2021-05-20 e9720c2 PR fixes. (Mojmir Fendek)
    • 2021-04-23 67b472a Revert default to prevent to same as 5.0 to prevent semver breakage (Damian Mooyman)
    • 2021-04-20 1e5f1e0 Add missing CRUD permissions for Locale dataobject (Damian Mooyman)
    • 2021-04-16 8a6b778 Bugfix for version history viewer (Vivienne Tubbs)
    • 2021-04-08 bb7ec0c Remove outdated link (Damian Mooyman)
    • 2021-03-22 8d4a32d Escape query string (Vivienne Tubbs)
    • 2021-03-16 3ea287a Import namespace for Convert (Vivienne Tubbs)
    • 2021-03-16 8b552db Add PR changes (Vivienne Tubbs)
    • 2021-02-26 ca2759d Pair programming fixes. (Mojmir Fendek)
    • 2021-01-10 a656714 Localised versioned history (#639) (Mojmir Fendek)
    • 2020-10-06 97d83d6 Added extension point to FluentDirectorExtension (innomedia)
    • 2020-10-01 8a5300e Translation to Slovenian (sl.yml) (Tomasz Pirc)
    • 2020-09-10 5145156 Update branch aliases (Damian Mooyman)
    • 2020-08-26 b7e40f7 Wrap middleware state mutations inside state helpers (Damian Mooyman)
    • 2020-07-22 cddb95c Site Tree status flags localised. (Mojmir Fendek)
    • 2020-07-20 0b57ecf Add BC for old config with deprecation notice (cpenny)
    • 2020-07-20 93bf32f Encoding configuration documentation. (Mojmir Fendek)
    • 2020-07-17 af11a3b Source locale lookup correction. (Mojmir Fendek)
    • 2020-07-16 31029f9 Rename CMS publish required config (cpenny)
    • 2020-07-16 0243e71 Localised copy config changed to flat list, extension points improvements. (Mojmir Fendek)
    • 2020-07-14 2fb7945 Locale detection improvements. (Mojmir Fendek)
    • 2020-07-13 bb8838a Global state for localised copy feature. (Mojmir Fendek)
    • 2020-07-13 6981075 Global localised copy state removed. (Mojmir Fendek)
    • 2020-07-12 35f64cd Localised copy trait changed into an extension approach. (Mojmir Fendek)
    • 2020-07-09 cfc1925 Source locale lookup correction. (Mojmir Fendek)
    • 2020-07-07 0a21272 Localised copy trait (Mojmir Fendek)
    • 2020-07-06 79c248b PR fixes. (Mojmir Fendek)
    • 2020-07-02 ef88e32 Added a tooltip for Unlocalise action. (Mojmir Fendek)
    • 2020-06-29 9432cf9 Non-versioned UI improvements (Mojmir Fendek)
    • 2020-06-26 f5bce7e Publish state related fixes (Mojmir Fendek)
    • 2020-06-25 21ff3ff PR fixes (Mojmir Fendek)
    • 2020-06-25 5a162c8 Badges UI improvements (Mojmir Fendek)
    • 2020-06-18 5092db1 Copy locale action extension points. (Mojmir Fendek)
    • 2020-06-18 d3abe50 Redundant copy locale actions prevented. (Mojmir Fendek)
    • 2020-05-15 6182ea0 Ensure the domain detection only returns the locale if it is unambiguous (Danae Miller-Clendon)
    • 2020-05-12 7c8e8c8 Don't treat /graphql as admin (Damian Mooyman)
    • 2020-05-12 2a79a28 Update locale detection to include cloudflare logic (Damian Mooyman)
    • 2020-05-12 f68d9db more translations DE (Bumbus)
    • 2020-05-12 aff053c added missing translation keys; added de translation (Bumbus)
    • 2020-05-11 3d71d8d Bump documented versions (Damian Mooyman)
    • 2020-05-11 33f5175 Run fluent isolated extension on requireDefaultRecords to prevent needing to dev/build twice (Damian Mooyman)
    • 2020-03-24 98806ad Add migration helper for isolated extension (Damian Mooyman)
    • 2020-03-24 1ffab0d Add extra hide / show action if filtering (Damian Mooyman)
    • 2020-03-23 6da52eb Refactor updateFluentLocalisedFields so it can be called from third party extensions (Damian Mooyman)
    • 2020-03-19 90fc945 Adjust description on UseDefaultCode field (Damian Mooyman)
    • 2020-03-19 59148bb Update src/Model/Locale.PHP (Damian Mooyman)
    • 2020-02-27 74a68f7 Enable FluentBadgeTrait for filtered-only records (Damian Mooyman)
    • 2020-02-14 f55a0ea Support x-default locale code for SEO (Damian Mooyman)
    • 2020-02-10 b6c2a8c Add tests for delete (Damian Mooyman)
    • 2020-02-10 7e388fe Add unit tests for admin actions. Bugfixing some versioned localisation issues. (Damian Mooyman)
    • 2020-02-09 2a6a8a6 Don't show disallowed locales in CMS admin section (Damian Mooyman)
    • 2020-02-07 afa0048 Remove redundant provider (Damian Mooyman)
    • 2020-02-07 318e7a9 Test and bugfix locale-specific CMS access (Damian Mooyman)
    • 2020-02-07 f437f8b Reenable copy from / copy to actions (Damian Mooyman)
    • 2020-02-07 75cbb9c Add permission check to global actions (Damian Mooyman)
    • 2020-02-05 ecaf135 Simplify (Damian Mooyman)
    • 2020-02-05 2217a6a Switch to using real permissions for each locale (Damian Mooyman)
    • 2020-02-03 074f7ca Add permission model base extensions (Damian Mooyman)
    • 2020-01-12 ea8619a Don't show unpublished / hidden pages in meta tag alternate links (Damian Mooyman)
    • 2019-12-12 27041ac MINOR: update of example in scenarios (Peter Thaleikis)
    • 2019-12-02 c8818bc Break out updateCMSFields into a callable helper method (Damian Mooyman)
    • 2019-11-20 5404ed7 Build dist files (Damian Mooyman)
    • 2019-11-20 3eed100 Update styles (Damian Mooyman)
    • 2019-11-19 967715b Add extra useful gridfield components for localised records (Damian Mooyman)
    • 2019-11-19 773c1d5 Prevent FluentDirectorExtension erroring when CMS module is not installed (Damian Mooyman)
    • 2019-11-19 facdac3 Feature: CMS module is optional (Damian Mooyman)
    • 2019-11-14 34ab9c2 Drop PHP 7.0 test (Damian Mooyman)
    • 2019-11-14 665e1aa Add deleteFluent for non-versioned records (Damian Mooyman)
    • 2019-11-14 b9dcbe1 Move menu before RightGroup so that in the GridField Detail Form view, the menu doesn’t get cropped. (Danae Miller-Clendon)
    • 2019-11-13 88d5d57 Wrap writeToStage() in an extension check in copyFluent (should not depend on Versioned) (Danae Miller-Clendon)
    • 2019-11-13 ec1f802 Drop PHP 5 support, fix linting issues (Damian Mooyman)
    • 2019-11-13 5dfc1a8 Add colours, fix missing "save" in save and publish (Damian Mooyman)
    • 2019-11-12 9f6c755 Work on actions (Damian Mooyman)
    • 2019-11-12 ae6469c Wrap actions in Versioned extension check (Danae Miller-Clendon)
    • 2019-11-12 c19a44e Clean up issues with unpublish action (Damian Mooyman)
    • 2019-11-12 ac421b7 Following on from Damian’s suggestions. TODO: Test and implement for GridField (Danae Miller-Clendon)
    • 2019-11-12 03fc69d Handle the actions from Localisation menus: (Danae Miller-Clendon)
    • 2019-11-11 2761cd8 Adjust scope of 5.0.0 beta release (Damian Mooyman)
    • 2019-11-06 1bcb462 Initial commit of gridfield actions (Damian Mooyman)
    • 2019-11-04 b2f4bce Remove hasMethod / hasExtension bindings (Damian Mooyman)
    • 2019-11-04 63a2c04 Clean up and refactor extension classes (Damian Mooyman)
    • 2019-11-04 1e2841d Clean up menu (Damian Mooyman)
    • 2019-11-03 1d48882 Alias master as next major version (Damian Mooyman)
    • 2019-10-30 fd8c5b5 Add descriptions to menu layout (Damian Mooyman)
    • 2019-10-29 b62b671 WIP Initial commit of new localisation menu (Damian Mooyman)