Version 5 supported

5.0.0-beta1

This is the first beta release for Silverstripe CMS 5. This is a pre-release version of Silverstripe CMS 5. It is not suitable for a production environment.

We are anticipating that we will tag a Silverstripe CMS 5 Release Candidate (RC) in March 2023 and a stable release in April 2023.

Overview

Included module versions
ModuleVersion
bringyourownideas/silverstripe-composer-update-checker4.0.0-beta1
bringyourownideas/silverstripe-maintenance3.0.0-beta1
colymba/gridfield-bulk-editing-tools4.0.0-beta1
cwp/agency-extensions3.0.0-beta1
cwp/cwp3.0.0-beta1
cwp/cwp-core3.0.0-beta1
cwp/cwp-search2.0.0-beta1
cwp/starter-theme4.0.0-beta1
cwp/watea-theme4.0.0-beta1
dnadesign/silverstripe-elemental5.0.0-beta1
dnadesign/silverstripe-elemental-userforms4.0.0-beta1
silverstripe/admin2.0.0-beta1
silverstripe/asset-admin2.0.0-beta1
silverstripe/assets2.0.0-beta1
silverstripe/auditor3.0.0-beta1
silverstripe/blog4.0.0-beta1
silverstripe/campaign-admin2.0.0-beta1
silverstripe/ckan-registry2.0.0-beta1
silverstripe/cms5.0.0-beta1
silverstripe/comment-notifications3.0.0-beta1
silverstripe/comments4.0.0-beta1
silverstripe/config2.0.0-beta1
silverstripe/content-widget3.0.0-beta1
silverstripe/contentreview5.0.0-beta1
silverstripe/crontask3.0.0-beta1
silverstripe/developer-docs5.0.0-beta1
silverstripe/documentconverter3.0.0-beta1
silverstripe/elemental-bannerblock3.0.0-beta1
silverstripe/elemental-fileblock3.0.0-beta1
silverstripe/environmentcheck3.0.0-beta1
silverstripe/errorpage2.0.0-beta1
silverstripe/externallinks3.0.0-beta1
silverstripe/framework5.0.0-beta1
silverstripe/fulltextsearch4.0.0-beta1
silverstripe/graphql5.0.0-beta1
silverstripe/gridfieldqueuedexport3.0.0-beta1
silverstripe/hybridsessions3.0.0-beta1
silverstripe/iframe3.0.0-beta1
silverstripe/installer5.0.0-beta1
silverstripe/ldap2.0.0-beta1
silverstripe/login-forms5.0.0-beta1
silverstripe/lumberjack3.0.0-beta1
silverstripe/mfa5.0.0-beta1
silverstripe/mimevalidator3.0.0-beta1
silverstripe/realme5.0.0-beta1
silverstripe/recipe-authoring-tools2.0.0-beta1
silverstripe/recipe-blog2.0.0-beta1
silverstripe/recipe-ccl3.0.0-beta1
silverstripe/recipe-cms5.0.0-beta1
silverstripe/recipe-collaboration2.0.0-beta1
silverstripe/recipe-content-blocks3.0.0-beta1
silverstripe/recipe-core5.0.0-beta1
silverstripe/recipe-form-building2.0.0-beta1
silverstripe/recipe-kitchen-sink5.0.0-beta1
silverstripe/recipe-plugin2.0.0
silverstripe/recipe-reporting-tools2.0.0-beta1
silverstripe/recipe-services2.0.0-beta1
silverstripe/recipe-solr-search3.0.0-beta1
silverstripe/registry3.0.0-beta1
silverstripe/reports5.0.0-beta1
silverstripe/restfulserver3.0.0-beta1
silverstripe/securityreport3.0.0-beta1
silverstripe/segment-field3.0.0-beta1
silverstripe/session-manager2.0.0-beta1
silverstripe/sharedraftcontent3.0.0-beta1
silverstripe/silverstripe-fluent7.0.0-beta1
silverstripe/siteconfig5.0.0-beta1
silverstripe/sitewidecontent-report4.0.0-beta1
silverstripe/spamprotection4.0.0-beta1
silverstripe/staticpublishqueue6.0.0-beta1
silverstripe/subsites3.0.0-beta1
silverstripe/tagfield3.0.0-beta1
silverstripe/taxonomy3.0.0-beta1
silverstripe/textextraction4.0.0-beta1
silverstripe/totp-authenticator5.0.0-beta1
silverstripe/userforms6.0.0-beta1
silverstripe/vendor-plugin2.0.0
silverstripe/versioned2.0.0-beta1
silverstripe/versioned-admin2.0.0-beta1
silverstripe/versionfeed3.0.0-beta1
silverstripe/webauthn-authenticator5.0.0-beta1
silverstripe/widgets3.0.0-beta1
symbiote/silverstripe-advancedworkflow6.0.0-beta1
symbiote/silverstripe-gridfieldextensions4.0.0-beta1
symbiote/silverstripe-multivaluefield6.0.0-beta1
symbiote/silverstripe-queuedjobs5.0.0-beta1

About the beta release

Trying the beta

Creating a Silverstripe CMS 5 test project is just as easy as with Silverstripe CMS 4. Simply run this command to try out the Silverstripe CMS 5 beta.

composer create-project silverstripe/installer:5.0.0-beta1 my-site

Silverstripe CMS 5 requires at least PHP 8.1.

Review the Server Requirements for all the details.

Reporting bugs

If you find a bugs in the beta, report it by creating an issue against the relevant GitHub repository. Prefix the title of your issue with "CMS5-beta" to make it easier for our development team to identify it.

Look at Reporting Bugs for more informations.

After creating an issue, maybe have a go at creating a pull request to fix it. Remember to link back your pull request to a matching issue to help the CMS development team review your work.

Read our Contributing Code documentation for more details on opening pull requests.

Change freeze

Now that the Silverstripe CMS 5 beta has been tagged, our aim is to:

  • make no further breaking API changes to the CMS5 codebase
  • have all supported dependencies upgraded to a supported major version.

We recognize that beta testing may bring to our attention bugs or problems that can not be easily remedied without a breaking API change.

We will only consider merging post-beta breaking API changes if they are necessary to address a high impact flaw in the CMS5 code base. Each of those breaking API changes will have to be individually approved by the CMS Squad team lead.

Non-breaking API changes and enhancements may be merged after the initial CMS 5 beta release.

Known issues

The Silverstripe CMS 5 beta 1 release contains several known regressions. We'll aim to address those prior the Silverstripe CMS 5 Release candidate. There are likely also other regressions we have yet to find.

Regressions

Build failures

Some modules are failing one or more Continuous Integration job. We've looked at these and decided that none of the failures are critical or warrants holding back the beta release. These are all either problems with out CI build system itself or indications of non-critical regressions.

  • silverstripe/asset-admin CI
  • silverstripe/graphql CI
  • silverstripe/campaign-admin CI
  • silverstripe/cms CI
  • silerstripe/installer CI
  • silverstripe/recipe-core CI
  • silverstripe/session-manager CI
  • silverstripe/staticpublishqueue CI
  • silverstripe/versionned-admin CI

Other issues

The CMS 5 compatible version of tractorcow/silverstripe-fluent is temporarily being released under silverstripe/silverstripe-fluent.

View the Silverstripe CMS 5 compatibility issue on the Fluent repository for progress.

Upgrading your third party module

One of the primary purposes of the beta testing phase is to give third party maintainers and developers an opportunity to upgrade their modules to be compatible with Silverstripe CMS 5.

Planning your upgrade

You should decide if you intend to do a new major release of your module to add support for Silverstripe CMS 5.

Most of the key Silverstripe CMS APIs have not changed between CMS 4 and CMS 5. That said, take time to read this changelog to identify changes that might be problematic for your project.

Depending on how complex your module is, it may be completely practical to create a version that works with both Silverstripe CMS 4 and Silverstripe CMS 5. We do not necessarily recommend this approach as it may require you to tag a major release later on if you want to make use of new Silverstripe CMS 5 features later on. But you may wish to consider this approach to minimise your maintenance burden.

If you decide that you want to maintain distinct Silverstripe CMS 4 and Silverstripe CMS 5 versions of your module, then you should create a new branch from your current development branch.

For example, let's assume your CMS 4 branch is called main and the current stable release of your module is 3.2.1:

  • Create a new 3 branch from main. This branch will be used to tag future releases of your modules for CMS 4.
  • main will now be used to release a CMS 5 version of your module. All CMS 5 upgrade commits should be merged in main.
  • To patch bugs against both the CMS 4 and CMS 5 versions of your module, merge the fix in the 3 branch. Then merge the 3 branch into main.

If the name of your branch is a number, composer will allow it to be installed as an unstable tag. e.g.: If your module has a 7 branch, composer will alias the HEAD of that branch as 7.x-dev. This will satisfy a constraint like ^7. This is especially useful for some development pipelines and for running tests in a continuous integration environment like GitHub Actions.

Stop using deprecated code

A good way to identify which APIs need to be updated is to enable deprecation warnings and run your module in a fresh project using the latest Silverstripe CMS 4 release. This will let you remove any references to deprecated APIs in the Silverstripe CMS 4 version of your module.

If you intend to remove some APIs in the Silverstripe CMS 5 version of your module, consider adding deprecation warnings to the Silverstripe CMS 4 version. This will simplify the upgrade process for projects using your module.

Upgrade your constraints

Upgrade your composer requirement constraints to allow the installation of Silverstripe CMS 5 module. If your module has dual support for Silverstripe CMS 4 and 5, you'll want to use a constraint similar to:

"require": {
    "silverstripe/framework": "^4 || ^5",
    "silverstripe/cms": "^4 || ^5",
    "silverstripe/admin": "^1 || ^2"
}

Otherwise, simply increment your existing constraints to target the Silverstripe CMS 5 version of our modules.

Ship a Silverstripe CMS 5 version of your module

You should ideally test your module against at least one real Silverstripe CMS 5 project to identify and fix real-world problems. Consider tagging a beta release to give your users a chance to test drive your module with the Silverstripe CMS 5 beta. This will both help you resolve any regressions you hadn't found yourself and give your users a chance to update any modules they might have which rely on yours.

Change to commercially 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 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 which will be tagged during this release. 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 community@silverstripe.org if you are keen to help maintain some of the modules that will no longer be commercially supported.

ModuleStatusNotes
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-themes/defaultDropped
cwp/cwpCMS5 compatible without commercial support
cwp/cwp-coreCMS5 compatible without commercial support
cwp/cwp-pdfexportDropped
cwp/cwp-searchCMS5 compatible without commercial support
dnadesign/silverstripe-elemental-subsitesDroppedElemental works fine with Subsite out-of-the-box.
hafriedlander/phockitoDropped
hafriedlander/silverstripe-phockitoDropped
lekoala/silverstripe-debugbarCMS5 compatible without commercial supportDebug bar is a development tool that should not be installed in production.
silverstripe/activedirectoryDropped
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/spellcheckDropped
silverstripe/sqlite3CMS5 compatible without commercial support
silverstripe/widgetsCMS5 compatible without commercial support
tijsverkoyen/akismetDropped
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.4.2upgrade guide
react-router-config ^4.4.0react-router ^6.4.2upgrade guide
react-router-dom ^4.4.0react-router-dom ^6.4.2upgrade 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';

$('.grid-field').entwine({
  onmatch() {
    ReactDOM.render(<MyComponent />, this[0]);
  },

  onunmatch() {
    const container = this[0];
    if (container) {
      ReactDOM.unmountComponentAtNode(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';

$('.grid-field').entwine({
  ReactRoot: null,

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

  onunmatch() {
    const root = this.getReactRoot();
    if (root) {
      root.unmount();
      this.setReactRoot(null);
    }
  },
});

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');
      reactRouteRegister.add({
-         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:

PropTypes.shape({
  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:

SilverStripe\Control\Controller:
    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:

SilverStripe\Core\Injector\Injector:
  SilverStripe\Control\Middleware\CanonicalURLMiddleware:
    properties:
      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:

SilverStripe\Core\Injector\Injector:
  SilverStripe\Control\Middleware\CanonicalURLMiddleware:
    properties:
      enforceTrailingSlashConfigIgnorePaths:
        - 'my-ajax-controller/'
      enforceTrailingSlashConfigIgnoreUserAgents:
        - '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;

TinyMCEConfig::get('cwp')->setOption(
    'extended_valid_elements',
    $cwpEditor->getOption('extended_valid_elements')
    . ',span[class|align|style|aria-hidden]'
);
# app/_config/font-awesome.yml
SilverStripe\Forms\HTMLEditor\TinyMCEConfig:
  editor_css:
    - "https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css"

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
SilverStripe\SecurityExtensions\Control\SudoModeControllerSilverStripe\Admin\SudoModeController
SilverStripe\SecurityExtensions\Service\SudoModeServiceSilverStripe\Security\SudoMode\SudoModeService
SilverStripe\SecurityExtensions\Service\SudoModeServiceInterfaceSilverStripe\Security\SudoMode\SudoModeServiceInterface

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'])).
  • 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.

Bugfixes

  • 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 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.
  • Removed the HTMLValue injection "shorthand", use the fully qualified HTMLValue instead.

Email

  • 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.

ORM

  • 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.

Templates

  • <% 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)

cwp/cwp-core

  • Removed deprecated class CWP\Core\Extension\CWPVersionExtension

cwp/cwp-search

  • Removed deprecated class CWP\Search\Solr\CwpSolrConfigStore

dnadesign/silverstripe-elemental

silverstripe/admin

silverstripe/asset-admin

silverstripe/assets

silverstripe/auditor

  • 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

silverstripe/behat-extension

silverstripe/campaign-admin

silverstripe/cms

silverstripe/comments

silverstripe/config

silverstripe/crontask

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

silverstripe/environmentcheck

  • 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()

silverstripe/errorpage

silverstripe/framework

silverstripe/fulltextsearch

silverstripe/graphql

silverstripe/hybridsessions

silverstripe/ldap

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

silverstripe/mfa

silverstripe/recipe-plugin

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

silverstripe/registry

silverstripe/securityreport

  • Removed deprecated class SilverStripe\SecurityReport\Subsites\SubsiteSecurityReport

silverstripe/sharedraftcontent

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

silverstripe/subsites

silverstripe/tagfield

  • Removed deprecated config SilverStripe\TagField\StringTagField.immediate_write_enabled

silverstripe/userforms

silverstripe/vendor-plugin

  • 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

silverstripe/versioned

silverstripe/versioned-admin

silverstripe/versionfeed

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

silverstripe/webauthn-authenticator

symbiote/silverstripe-advancedworkflow

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

symbiote/silverstripe-queuedjobs

## Change log

Features and enhancements

  • silverstripe/installer (4.12.0 -> 5.0.0-beta1)

    • 2022-08-05 1f718dc Remove resources-dir config from composer.json (#330) (Guy Sartorelli)
  • silverstripe/vendor-plugin (1.6.0 -> 2.0.0)

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

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

    • 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.12.0 -> 2.0.0-beta1)

    • 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.12.0 -> 5.0.0-beta1)

    • 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)
    • 2023-01-12 2c105cffc saveInto() new extension points. (#10636) (Mojmir Fendek)
    • 2022-12-21 c1a773310 PHP 8.2 support (Steve Boyd)
    • 2022-11-10 521c8179b Correctly parse SomeClass::class syntax in textcollection (Guy Sartorelli)
    • 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.12.0 -> 2.0.0-beta1)

    • 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.12.0 -> 2.0.0-beta1)

    • 2023-01-12 447beaa0 Allow URLs without trailing slashes (Guy Sartorelli)
    • 2022-08-31 6c9f9ecc Don't call deprecated constructExtensions method (#1290) (Guy Sartorelli)
  • silverstripe/campaign-admin (1.12.0 -> 2.0.0-beta1)

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

    • 2022-09-01 8ee61fd Remove deprecated HistoryControllerFactory. (#251) (Guy Sartorelli)
  • silverstripe/cms (4.12.0 -> 5.0.0-beta1)

    • 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.12.0 -> 5.0.0-beta1)

    • 2022-10-07 458f5dd4 Let SiteConfig be previewable (Guy Sartorelli)
  • silverstripe/graphql (4.1.0 -> 5.0.0-beta1)

    • 2022-11-10 b47177d Use HashNameObfuscator in dev environments (Steve Boyd)
  • silverstripe/documentconverter (2.4.0 -> 3.0.0-beta1)

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

    • 2023-01-19 ad4342f PHP 8.2 compatibility (Steve Boyd)
  • silverstripe/taxonomy (2.4.0 -> 3.0.0-beta1)

    • 2022-09-06 4d2102d Replace ADMIN permissions with less permissions in Behat test (Sabina Talipova)
  • silverstripe/widgets (2.3.0 -> 3.0.0-beta1)

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

    • 2023-01-19 71a09ea Update regex to most recent jQuery.validate (Guy Sartorelli)
  • silverstripe/securityreport (2.5.0 -> 3.0.0-beta1)

    • 2022-09-06 8042bd4 Replace ADMIN permissions with less permissions in Behat test (Sabina Talipova)
  • silverstripe/sitewidecontent-report (3.3.0 -> 4.0.0-beta1)

    • 2022-09-05 c18b1ca Replace ADMIN permissions with less permissions in Behat test (Sabina Talipova)
  • bringyourownideas/silverstripe-composer-update-checker (3.0.0 -> 4.0.0-beta1)

    • 2022-04-26 ab967ee Use composer 2 (#62) (Steve Boyd)
  • silverstripe/elemental-fileblock (2.4.0 -> 3.0.0-beta1)

    • 2022-08-31 fe502d9 Replace ADMIN permissions with less permissions in Behat test (Sabina Talipova)
  • silverstripe/fulltextsearch (3.11.1 -> 4.0.0-beta1)

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

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

    • 2023-01-24 f397ab3 Prepare correct JS/CSS structure to use webpack (Guy Sartorelli)
  • dnadesign/silverstripe-elemental-userforms (3.2.1 -> 4.0.0-beta1)

    • 2022-08-29 6eb355b Add permissions for Content Editor (Sabina Talipova)
  • silverstripe/silverstripe-fluent (4.7.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)

Bugfixes

  • silverstripe/recipe-kitchen-sink (4.12.0 -> 5.0.0-beta1)

    • 2022-12-16 7f718cc Revert initial composer.json version (Sabina Talipova)
  • silverstripe/installer (4.12.0 -> 5.0.0-beta1)

    • 2022-12-20 62c49ca Move test requirements out of require-dev (Steve Boyd)
  • silverstripe/assets (1.12.0 -> 2.0.0-beta1)

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

    • 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)
    • 2023-01-02 bb8e3b838 fix: optional return value for paginator state (Florian Thoma)
    • 2022-12-13 700288d5c Cast absoluteUrl() argument to string (Steve Boyd)
    • 2022-11-24 1354edf05 fix misleading error message with test class (Will Rossiter)
    • 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.12.0 -> 2.0.0-beta1)

    • 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.12.0 -> 2.0.0-beta1)

    • 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/versioned-admin (1.12.0 -> 2.0.0-beta1)

    • 2023-02-02 90ee112 Use the new HtmlDiff class (Guy Sartorelli)
    • 2023-01-29 5ad5cd4 Remove unused import (#270) (Guy Sartorelli)
  • silverstripe/cms (4.12.0 -> 5.0.0-beta1)

    • 2023-01-12 98115792 Behat test (Steve Boyd)
    • 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.12.0 -> 5.0.0-beta1)

    • 2023-01-23 4155b889 Bring back empty _config.PHP file (Maxime Rainville)
    • 2022-11-09 468b260a SiteConfig should use getCMSCompositeValidator (fixes #131) (Loz Calver)
  • silverstripe/versioned (1.12.0 -> 2.0.0-beta1)

    • 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.1.0 -> 5.0.0-beta1)

    • 2022-09-12 a52cabd Use symfony6 cache classes (Steve Boyd)
  • silverstripe/recipe-authoring-tools (1.12.0 -> 2.0.0-beta1)

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

    • 2022-12-18 8b61de9 Revert wrong merge (#39) (Sabina Talipova)
  • silverstripe/spamprotection (3.3.0 -> 4.0.0-beta1)

    • 2023-01-15 2a55708 Check value is not NULL (Sabina Talipova)
  • silverstripe/comments (3.9.0 -> 4.0.0-beta1)

    • 2023-01-19 5c2552e Parameter order (Steve Boyd)
    • 2023-01-19 0048a7a Resolve linting issues (Guy Sartorelli)
  • silverstripe/comment-notifications (2.3.0 -> 3.0.0-beta1)

    • 2023-02-02 9032055 Validate email correctly when in array format (#51) (Guy Sartorelli)
  • silverstripe/recipe-collaboration (1.12.0 -> 2.0.0-beta1)

    • 2022-12-18 880c4b5 Revert wrong merge (#22) (Sabina Talipova)
  • silverstripe/recipe-form-building (1.12.0 -> 2.0.0-beta1)

    • 2022-12-18 d56ed8b Revert wrong merge (#24) (Sabina Talipova)
  • silverstripe/userforms (5.14.0 -> 6.0.0-beta1)

    • 2023-01-17 746ac8a Use HTMLValue::class (Steve Boyd)
    • 2022-12-06 c593138 Ensure .nolabel is only added once when Hide Title is used (jeric realubit)
  • silverstripe/recipe-reporting-tools (1.12.0 -> 2.0.0-beta1)

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

    • 2023-01-17 8456e46 Use HTMLValue::class (Steve Boyd)
    • 2022-07-19 d1cc3f8 Move files to client directory (Steve Boyd)
  • silverstripe/recipe-services (1.12.0 -> 2.0.0-beta1)

    • 2022-12-18 cc78ba3 Revert wrong merge (#24) (Sabina Talipova)
  • silverstripe/recipe-content-blocks (2.12.0 -> 3.0.0-beta1)

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

    • 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)
  • silverstripe/recipe-solr-search (2.12.0 -> 3.0.0-beta1)

    • 2022-12-18 ce7f63f Revert wrong merge (#16) (Sabina Talipova)
  • cwp/cwp-search (1.7.0 -> 2.0.0-beta1)

    • 2022-07-19 4c24a4d Solr communication error (Steve Boyd)
  • symbiote/silverstripe-queuedjobs (4.11.0 -> 5.0.0-beta1)

    • 2022-12-14 0c18b40 Use record() instead of first() (Steve Boyd)
  • cwp/cwp-core (2.11.0 -> 3.0.0-beta1)

    • 2022-07-25 5c7f5be Require PHP 7.4 compatible version of silverstripe/auditor (Steve Boyd)
  • silverstripe/developer-docs (4.12.0 -> 5.0.0-beta1)

    • 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/mfa (4.7.0 -> 5.0.0-beta1)

    • 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/webauthn-authenticator (4.6.0 -> 5.0.0-beta1)

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

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

    • 2023-01-19 fccf95e Parameter order (Steve Boyd)
    • 2018-08-29 d526926 ensuring showingCMSTree() call references extended SiteTree object rather than extension itself (Luke Fromhold)
  • cwp/starter-theme (3.2.1 -> 4.0.0-beta1)

    • 2023-01-29 4ddc59c Remove reference to empty CSS file. (#219) (Guy Sartorelli)
  • cwp/watea-theme (3.1.0 -> 4.0.0-beta1)

    • 2022-07-19 034540d Add step to CI (Steve Boyd)
  • symbiote/silverstripe-gridfieldextensions (3.5.0 -> 4.0.0-beta1)

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

    • 2023-02-01 563f253 Don't use removed method. (Guy Sartorelli)
    • 2022-06-28 d420a29 Row updating broken in Silverstripe 4 (#197) (Niklas Forsdahl)
    • 2020-05-15 7652fee publishRecursive() is part of RecursivePublishable, not Versioned (Loz Calver)
  • silverstripe/silverstripe-fluent (4.7.0 -> 7.0.0-beta1)

    • 2023-01-26 759c49e Don't use removed API (Guy Sartorelli)
    • 2023-01-18 a6a3fee 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)
  • silverstripe/recipe-plugin (1.7.0 -> 2.0.0)

    • 2022-12-14 f003b8d Always put public resources in a public/ dir (#31) (Guy Sartorelli)

API changes

  • silverstripe/vendor-plugin (1.6.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-10-25 d33a47a Update deprecations (#60) (Steve Boyd)
    • 2022-08-03 ddbf19a Remove deprecated Library::RESOURCES_PATH const (Guy Sartorelli)
  • silverstripe/assets (1.12.0 -> 2.0.0-beta1)

    • 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)
    • 2022-11-28 9bffdea Stop using deprecated API (Steve Boyd)
    • 2022-11-15 a7c323b Stop using deprecated API (Steve Boyd)
  • silverstripe/config (1.5.0 -> 2.0.0-beta1)

    • 2022-12-07 c0cd27a Restore nullable params (Steve Boyd)
    • 2022-12-07 3e7097e Remove deprecated code (#75) (Sabina Talipova)
    • 2022-11-02 f49fcd5 Stop using deprecated API (Steve Boyd)
  • silverstripe/framework (4.12.0 -> 5.0.0-beta1)

    • 2023-02-01 603723e8f Rename Diff to HtmlDiff (Guy Sartorelli)
    • 2023-01-26 ec4a8b88e Allow array style email addresses (Steve Boyd)
    • 2023-01-16 b973c8864 Deprecate HTML4Value (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-11-28 b5533e468 Stop using deprecated API (Steve Boyd)
    • 2022-11-15 137ebcebe Stop using deprecated API (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.12.0 -> 2.0.0-beta1)

    • 2023-01-16 cd1271f8 Remove pointless $subitem_class config (#1440) (Maxime Rainville)
    • 2023-01-10 f4633cae Remove ReturnTypeWillChange annotation (Maxime Rainville)
    • 2022-12-07 33a80f1c Remove deprecated code (#1393) (Sabina Talipova)
    • 2022-11-28 f3fd3a07 Stop using deprecated API (Steve Boyd)
    • 2022-11-08 02aa72f4 Stop using deprecated API (Steve Boyd)
    • 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.12.0 -> 2.0.0-beta1)

    • 2022-12-07 38328d8b Remove deprecated code (#1307) (Sabina Talipova)
    • 2022-11-08 48cd0cae Stop using deprecated API (Steve Boyd)
    • 2022-10-18 a6eba071 Strongly-type action method signatures (Steve Boyd)
  • silverstripe/campaign-admin (1.12.0 -> 2.0.0-beta1)

    • 2022-12-07 426db3e Remove deprecated code (#249) (Sabina Talipova)
    • 2022-11-03 5758cc4 Stop using deprecated API (Steve Boyd)
    • 2022-10-17 af7f3ec Strongly-type action method signatures (Steve Boyd)
  • silverstripe/versioned-admin (1.12.0 -> 2.0.0-beta1)

    • 2022-12-07 bb10c07 Remove deprecated code (#265) (Sabina Talipova)
    • 2022-11-28 4f3de9e Stop using deprecated API (Steve Boyd)
    • 2022-11-08 9a2724a Stop using deprecated API (Steve Boyd)
    • 2022-10-17 a80b368 Strongly-type action method signatures (Steve Boyd)
    • 2022-09-14 99e50c2 Migrate SilverStripeNagivator (Guy Sartorelli)
  • silverstripe/cms (4.12.0 -> 5.0.0-beta1)

    • 2023-01-17 97fdff4b Remove deprecated CMSMain::$subitem_class config (#2821) (Maxime Rainville)
    • 2023-01-16 1bd578fc Remove legacy tasks (Steve Boyd)
    • 2023-01-16 75eae7f2 Deprecate legacy tasks (Steve Boyd)
    • 2023-01-16 b0fec188 Remove pointless subitem_class config (#2817) (Maxime Rainville)
    • 2022-12-07 0e5428b7 Remove deprecated code (#2800) (Sabina Talipova)
    • 2022-11-24 20467b38 Stop using deprecated API (Steve Boyd)
    • 2022-11-16 e64bfdb3 Stop using deprecated API (Steve Boyd)
    • 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.12.0 -> 2.0.0-beta1)

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

    • 2022-12-07 561275b Remove deprecated code (#381) (Sabina Talipova)
    • 2022-11-24 de9d31d Stop using deprecated API (Steve Boyd)
    • 2022-11-09 5ce310f Stop using deprecated API (Steve Boyd)
    • 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.1.0 -> 5.0.0-beta1)

    • 2022-12-07 f80bdec Remove deprecated code (#510) (Sabina Talipova)
    • 2022-11-02 848fa1e Stop using deprecated API (Steve Boyd)
    • 2022-10-20 14d9ef2 Support of upgrading installer dependencies (#499) (Sabina Talipova)
  • silverstripe/tagfield (2.10.1 -> 3.0.0-beta1)

    • 2023-01-25 6f203a3 Remove deprecated code (#228) (Sabina Talipova)
    • 2022-11-24 dc932bd Stop using deprecated API (Steve Boyd)
    • 2022-11-15 442d9d8 Update deprecations (Steve Boyd)
  • silverstripe/blog (3.11.0 -> 4.0.0-beta1)

    • 2022-11-24 6e020c6 Stop using deprecated API (Steve Boyd)
  • silverstripe/spamprotection (3.3.0 -> 4.0.0-beta1)

    • 2022-11-24 688b438 Stop using deprecated API (Steve Boyd)
  • silverstripe/comments (3.9.0 -> 4.0.0-beta1)

    • 2023-01-17 ff3ce69 Remove deprecated code (Sabina Talipova)
    • 2022-11-28 b771bb6 Stop using deprecated API (Steve Boyd)
    • 2022-11-15 c3ef4d6 Update deprecations (Steve Boyd)
  • silverstripe/contentreview (4.6.0 -> 5.0.0-beta1)

    • 2022-11-24 6f18e92 Stop using deprecated API (Steve Boyd)
  • silverstripe/sharedraftcontent (2.8.0 -> 3.0.0-beta1)

    • 2023-01-25 c2ceb88 Remove deprecated code (#183) (Sabina Talipova)
    • 2022-11-15 4eee611 Update deprecations (Steve Boyd)
  • symbiote/silverstripe-advancedworkflow (5.8.0 -> 6.0.0-beta1)

    • 2023-01-25 99559c5 Remove deprecated code (#476) (Sabina Talipova)
    • 2022-11-24 d10f674 Stop using deprecated API (Steve Boyd)
    • 2022-11-15 949f2ca Update deprecations (Steve Boyd)
  • silverstripe/userforms (5.14.0 -> 6.0.0-beta1)

    • 2023-01-25 1ea2b8e Remove deprecated code (#1185) (Sabina Talipova)
    • 2022-11-28 7a6cd1c Stop using deprecated API (Steve Boyd)
    • 2022-11-15 2a2b66a Update deprecations (Steve Boyd)
  • silverstripe/externallinks (2.3.0 -> 3.0.0-beta1)

    • 2022-11-28 1b66be2 Stop using deprecated API (Steve Boyd)
  • silverstripe/securityreport (2.5.0 -> 3.0.0-beta1)

    • 2023-01-25 b2c7a99 Remove deprecated code (#60) (Sabina Talipova)
    • 2022-11-15 9e4e8e9 Update deprecations (Steve Boyd)
  • bringyourownideas/silverstripe-maintenance (2.6.0 -> 3.0.0-beta1)

    • 2022-11-24 e97b375 Stop using deprecated API (Steve Boyd)
  • silverstripe/restfulserver (2.5.0 -> 3.0.0-beta1)

    • 2022-11-28 bdafc33 Stop using deprecated API (Steve Boyd)
  • silverstripe/versionfeed (2.3.0 -> 3.0.0-beta1)

    • 2023-01-25 a753712 Remove deprecated code (#78) (Sabina Talipova)
    • 2022-11-24 6699b90 Stop using deprecated API (Steve Boyd)
    • 2022-11-15 9f6b6f9 Update deprecations (Steve Boyd)
  • dnadesign/silverstripe-elemental (4.10.0 -> 5.0.0-beta1)

    • 2023-01-25 f6e0266 Remove deprecated code (#1034) (Sabina Talipova)
    • 2022-11-24 9694a40 Stop using deprecated API (Steve Boyd)
    • 2022-11-21 9f0df28 Apply TopPage extensions by default. (#1010) (Guy Sartorelli)
    • 2022-11-21 1f7a4a5 Mark deprecated code to support changes in TopPage extension in CMS5 (#1022) (Sabina Talipova)
    • 2022-11-21 331c7bd Update deprecations (Steve Boyd)
    • 2022-11-08 08be023 Stop using deprecated API (Steve Boyd)
    • 2019-08-02 005f8a9 Remove ElementalSolrIndex (Ingo Schommer)
  • cwp/cwp-search (1.7.0 -> 2.0.0-beta1)

    • 2023-01-25 d7fb9db Remove deprecated code (#52) (Sabina Talipova)
    • 2022-11-15 9f3adaf Update deprecations (Steve Boyd)
  • silverstripe/fulltextsearch (3.11.1 -> 4.0.0-beta1)

    • 2023-01-25 3663996 Remove deprcated code (#336) (Sabina Talipova)
    • 2023-01-20 35340d4 Strongly type iterator classes and remove ReturnTypeWillChange annotation (Maxime Rainville)
    • 2022-11-24 b5ed2dd Stop using deprecated API (Steve Boyd)
    • 2022-11-15 47d1360 Update deprecations (Steve Boyd)
  • symbiote/silverstripe-queuedjobs (4.11.0 -> 5.0.0-beta1)

    • 2022-11-24 8533ff7 Stop using deprecated API (Steve Boyd)
    • 2022-11-15 3884a8c Update deprecations (Steve Boyd)
    • 2022-10-26 952727e Use correct typing for new version of monolog (Guy Sartorelli)
  • cwp/cwp-core (2.11.0 -> 3.0.0-beta1)

    • 2023-01-25 b8a6e11 Remove deprecated code (#115) (Sabina Talipova)
    • 2022-11-28 32e7ed5 Stop using deprecated API (Steve Boyd)
    • 2022-11-15 d7e7c1f Update deprecations (Steve Boyd)
  • silverstripe/auditor (2.5.0 -> 3.0.0-beta1)

    • 2023-01-25 c20c342 Remove deprecated code (#48) (Sabina Talipova)
    • 2022-11-21 a8645fe Update deprecations (Steve Boyd)
  • silverstripe/environmentcheck (2.6.0 -> 3.0.0-beta1)

    • 2023-01-25 56b3753 Remove deprecated code (#83) (Sabina Talipova)
    • 2022-11-15 94ff5b6 Update deprecations (Steve Boyd)
  • silverstripe/hybridsessions (2.6.0 -> 3.0.0-beta1)

    • 2023-01-17 67bc3bd Remove deprecated code (Sabina Talipova)
    • 2023-01-13 443a927 Remove ReturnTypeWillChange annotation (Maxime Rainville)
    • 2022-11-28 41c9c01 Stop using deprecated API (Steve Boyd)
    • 2022-11-15 29e63b2 Update deprecations (Steve Boyd)
  • silverstripe/registry (2.5.0 -> 3.0.0-beta1)

    • 2022-12-08 1ff8d18 Update import() signature (Steve Boyd)
    • 2022-11-08 b43e46d Stop using deprecated API (Steve Boyd)
  • silverstripe/mfa (4.7.0 -> 5.0.0-beta1)

    • 2023-01-25 096ea96 Remove deprecated code (#480) (Sabina Talipova)
    • 2022-11-24 e116df9 Stop using deprecated API (Steve Boyd)
    • 2022-11-15 4db34f6 Update deprecations (Steve Boyd)
  • silverstripe/crontask (2.5.0 -> 3.0.0-beta1)

    • 2023-01-25 412cfeb Remove deprecated code (#73) (Sabina Talipova)
    • 2022-11-28 7947979 Stop using deprecated API (Steve Boyd)
    • 2022-11-15 a55c95b Update deprecations (Steve Boyd)
  • silverstripe/ldap (1.5.0 -> 2.0.0-beta1)

    • 2023-01-25 b9c070e Remove deprecated code (#47) (Sabina Talipova)
    • 2023-01-20 c71c2f0 Remove ReturnTypeWillChange annotation (Maxime Rainville)
    • 2022-11-15 966d21b Update deprecations (Steve Boyd)
  • silverstripe/textextraction (3.4.0 -> 4.0.0-beta1)

    • 2022-11-28 1a0cd6d Stop using deprecated API (Steve Boyd)
  • silverstripe/realme (4.3.0 -> 5.0.0-beta1)

    • 2022-11-24 8daac78 Stop using deprecated API (Steve Boyd)
  • silverstripe/webauthn-authenticator (4.6.0 -> 5.0.0-beta1)

    • 2023-02-07 724925d Remove deprecated code (#125) (Sabina Talipova)
    • 2022-11-21 56a776a Update deprecations (Steve Boyd)
  • silverstripe/subsites (2.7.0 -> 3.0.0-beta1)

    • 2023-01-26 d4bc28e Remove deprecated code (Steve Boyd)
    • 2023-01-25 30b1f09 Deprecate passing multiple IDs (Steve Boyd)
    • 2022-11-28 416f55a Stop using deprecated API (Steve Boyd)
    • 2022-11-15 aba286d Update deprecations (Steve Boyd)
  • cwp/starter-theme (3.2.1 -> 4.0.0-beta1)

    • 2022-11-24 ca782e2 Stop using deprecated API (Steve Boyd)
  • cwp/watea-theme (3.1.0 -> 4.0.0-beta1)

    • 2022-11-24 db0baf2 Stop using deprecated API (Steve Boyd)
  • cwp/cwp (2.10.1 -> 3.0.0-beta1)

    • 2023-01-25 dec2a6f Remove deprecated code (#318) (Sabina Talipova)
    • 2022-11-28 5542b38 Stop using deprecated API (Steve Boyd)
    • 2022-11-15 1c91990 Update deprecations (Steve Boyd)
  • colymba/gridfield-bulk-editing-tools (3.0.2 -> 4.0.0-beta1)

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

    • 2023-01-18 d40664b Remove deprecated code (Sabina Talipova)
    • 2020-03-19 cf3b646 Add FluentIsolatedExtension for objects which only belong to a single locale (Damian Mooyman)
  • 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)

Dependencies

  • silverstripe/recipe-kitchen-sink (4.12.0 -> 5.0.0-beta1)

    • 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/installer (4.12.0 -> 5.0.0-beta1)

    • 2023-02-07 7b49f0e Use caret for plugins (Steve Boyd)
    • 2022-12-20 ed70400 Stabilise requirements (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.6.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.12.0 -> 5.0.0-beta1)

    • 2022-12-19 b4ba1cc Ensure GraphQL v3 is still installable (Guy Sartorelli)
    • 2022-08-04 6e7dce8 Update core dependencies for CMS 5 (Steve Boyd)
  • silverstripe/recipe-core (4.12.0 -> 5.0.0-beta1)

    • 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.12.0 -> 2.0.0-beta1)

    • 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.5.0 -> 2.0.0-beta1)

    • 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.12.0 -> 5.0.0-beta1)

    • 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.4.0 -> 3.0.0-beta1)

    • 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.12.0 -> 2.0.0-beta1)

    • 2023-01-11 50e343a7 Update jQuery-UI in thirdparty folder (Steve Boyd)
    • 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.12.0 -> 2.0.0-beta1)

    • 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.12.0 -> 2.0.0-beta1)

    • 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.12.0 -> 2.0.0-beta1)

    • 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.12.0 -> 5.0.0-beta1)

    • 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.12.0 -> 2.0.0-beta1)

    • 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.12.0 -> 5.0.0-beta1)

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

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

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

    • 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.4.0 -> 2.0.0-beta1)

    • 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.8.0 -> 5.0.0-beta1)

    • 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.12.0 -> 2.0.0-beta1)

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

    • 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.3.0 -> 3.0.0-beta1)

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

    • 2023-02-01 249842f Upgrade frontend build stack (#229) (Guy Sartorelli)
    • 2022-12-18 08d1646 PHP Support in CMS5 (#224) (Sabina Talipova)
    • 2022-12-03 e7c6189 Bump decode-uri-component from 0.2.0 to 0.2.2 (dependabot[bot])
  • silverstripe/taxonomy (2.4.0 -> 3.0.0-beta1)

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

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

    • 2023-02-07 ffea8ac Upgrade frontend build stack (#697) (Guy Sartorelli)
    • 2022-12-09 29f0b39 PHP Support in CMS5 (Sabina Talipova)
    • 2022-12-03 c20ebee Bump decode-uri-component from 0.2.0 to 0.2.2 (dependabot[bot])
  • silverstripe/widgets (2.3.0 -> 3.0.0-beta1)

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

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

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

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

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

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

    • 2023-01-30 dc66fe8 Upgrade frontend build stack (#182) (Guy Sartorelli)
    • 2023-01-12 48c40a5 Bump debug from 2.6.8 to 2.6.9 (dependabot[bot])
    • 2023-01-09 f4b409e PHP Support in CMS5 (#178) (Sabina Talipova)
    • 2022-12-09 013a5c3 Bump minimatch from 3.0.4 to 3.0.8 (dependabot[bot])
    • 2022-12-09 63024cb Bump qs from 6.5.2 to 6.5.3 (dependabot[bot])
  • silverstripe/sharedraftcontent (2.8.0 -> 3.0.0-beta1)

    • 2023-01-30 2ae00a0 Upgrade build stack (#186) (Guy Sartorelli)
    • 2022-12-18 ecb33ba PHP Support in CMS5 (#181) (Sabina Talipova)
    • 2022-12-03 814a237 Bump decode-uri-component from 0.2.0 to 0.2.2 (dependabot[bot])
  • symbiote/silverstripe-advancedworkflow (5.8.0 -> 6.0.0-beta1)

    • 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.12.0 -> 2.0.0-beta1)

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

    • 2023-01-31 e431f24 Upgrade frontend build stack (#74) (Guy Sartorelli)
    • 2022-12-18 c820963 PHP Support in CMS5 (#72) (Sabina Talipova)
    • 2022-12-04 25492b0 Bump decode-uri-component from 0.2.0 to 0.2.2 (dependabot[bot])
  • silverstripe/userforms (5.14.0 -> 6.0.0-beta1)

    • 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.12.0 -> 2.0.0-beta1)

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

    • 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.5.0 -> 3.0.0-beta1)

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

    • 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.6.0 -> 3.0.0-beta1)

    • 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-beta1)

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

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

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

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

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

    • 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.4.0 -> 3.0.0-beta1)

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

    • 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)
    • 2022-12-06 4177c44 Bump decode-uri-component from 0.2.0 to 0.2.2 (dependabot[bot])
  • silverstripe/recipe-solr-search (2.12.0 -> 3.0.0-beta1)

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

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

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

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

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

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

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

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

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

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

    • 2023-01-30 2518a69 Upgrade frontend build stack (#109) (Guy Sartorelli)
    • 2023-01-17 113f966 PHP Support in CMS5 (#107) (Sabina Talipova)
    • 2022-12-11 53da295 Bump qs from 6.5.2 to 6.5.3 (dependabot[bot])
    • 2022-12-11 c54ac8d Bump express from 4.17.1 to 4.18.2 (dependabot[bot])
    • 2022-12-04 b84bb31 Bump minimatch from 3.0.4 to 3.0.8 (dependabot[bot])
    • 2022-12-03 c0ee60b Bump decode-uri-component from 0.2.0 to 0.2.2 (dependabot[bot])
  • silverstripe/mfa (4.7.0 -> 5.0.0-beta1)

    • 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.5.0 -> 3.0.0-beta1)

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

    • 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.5.0 -> 2.0.0-beta1)

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

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

    • 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.6.0 -> 2.0.0-beta1)

    • 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.6.0 -> 5.0.0-beta1)

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

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

    • 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-beta1)

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

    • 2022-12-18 a12e58a PHP Support in CMS5 (#216) (Sabina Talipova)
    • 2021-08-05 9f73c77 Bump elliptic from 6.5.3 to 6.5.4 (dependabot[bot])
    • 2021-08-05 1d4adb6 Bump ws from 6.2.1 to 6.2.2 (dependabot[bot])
    • 2021-08-03 62f3fcc Bump tar from 4.4.13 to 4.4.15 (dependabot[bot])
    • 2021-05-27 f23f8dd Bump dns-packet from 1.3.1 to 1.3.4 (dependabot[bot])
    • 2021-05-25 c72b5cd Bump browserslist from 4.7.2 to 4.16.6 (dependabot[bot])
    • 2021-05-07 90266c0 Bump URL-parse from 1.4.7 to 1.5.1 (dependabot[bot])
    • 2021-04-19 b57078c Bump ssri from 6.0.1 to 6.0.2 (dependabot[bot])
    • 2020-12-31 314b7b3 Bump dot-prop from 4.2.0 to 4.2.1 (dependabot[bot])
  • cwp/agency-extensions (2.7.0 -> 3.0.0-beta1)

    • 2023-01-31 8e40f56 Upgrade frontend build stack (#82) (Guy Sartorelli)
    • 2023-01-17 3d1ae3d PHP Support in CMS5 (#81) (Sabina Talipova)
    • 2022-12-22 763422a Bump qs from 6.5.2 to 6.5.3 (dependabot[bot])
    • 2022-12-04 8626a4b Bump minimatch from 3.0.4 to 3.0.8 (dependabot[bot])
    • 2022-12-03 80c0190 Bump decode-uri-component from 0.2.0 to 0.2.2 (dependabot[bot])
    • 2022-04-28 54c450d Bump async from 2.6.3 to 2.6.4 (dependabot[bot])
  • cwp/watea-theme (3.1.0 -> 4.0.0-beta1)

    • 2022-12-18 0b71677 PHP Support in CMS5 (#159) (Sabina Talipova)
    • 2022-12-09 d5fc0e5 build(deps): bump express from 4.16.4 to 4.18.2 (dependabot[bot])
    • 2022-12-03 1434d0e build(deps): bump decode-uri-component from 0.2.0 to 0.2.2 (dependabot[bot])
    • 2022-11-16 91a6ec8 build(deps): bump minimatch from 3.0.4 to 3.0.8 (dependabot[bot])
    • 2022-11-16 b825254 build(deps): bump loader-utils from 1.1.0 to 1.4.2 (dependabot[bot])
    • 2022-06-01 b17067d build(deps): bump eventsource from 1.0.7 to 1.1.1 (dependabot[bot])
    • 2022-02-28 f22a1c9 build(deps): bump URL-parse from 1.5.7 to 1.5.10 (dependabot[bot])
    • 2022-02-17 2dbe816 build(deps): bump URL-parse from 1.5.3 to 1.5.7 (dependabot[bot])
    • 2022-02-12 5cc8cca build(deps): bump follow-redirects from 1.14.7 to 1.14.8 (dependabot[bot])
    • 2022-01-13 c683e24 build(deps): bump follow-redirects from 1.13.0 to 1.14.7 (dependabot[bot])
    • 2021-10-05 4f7f2fb build(deps): bump URL-parse from 1.5.1 to 1.5.3 (dependabot[bot])
    • 2021-09-01 7d3f307 build(deps): bump tar from 4.4.15 to 4.4.19 (dependabot[bot])
    • 2021-08-05 3f6abcb build(deps): bump color-string from 1.5.3 to 1.6.0 (dependabot[bot])
    • 2021-08-03 64996f7 build(deps): bump tar from 4.4.8 to 4.4.15 (dependabot[bot])
    • 2021-05-27 3a3b94d build(deps): bump dns-packet from 1.3.1 to 1.3.4 (dependabot[bot])
    • 2021-05-25 5516a3e build(deps): bump lodash from 4.17.19 to 4.17.21 (dependabot[bot])
    • 2021-05-25 1ea5f1e build(deps): bump browserslist from 4.5.3 to 4.16.6 (dependabot[bot])
    • 2021-05-14 59725a6 build(deps): bump ini from 1.3.5 to 1.3.8 (dependabot[bot])
    • 2021-05-07 41a1e2d build(deps): bump URL-parse from 1.4.4 to 1.5.1 (dependabot[bot])
    • 2021-03-09 3a985cc build(deps): bump elliptic from 6.5.3 to 6.5.4 (dependabot[bot])
  • cwp/cwp (2.10.1 -> 3.0.0-beta1)

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

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

    • 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.5.0 -> 4.0.0-beta1)

    • 2022-08-10 d0c0cc0 Update dependencies for CMS 5 (Steve Boyd)
  • colymba/gridfield-bulk-editing-tools (3.0.2 -> 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)
  • silverstripe/silverstripe-fluent (4.7.0 -> 7.0.0-beta1)

    • 2023-01-26 155ef59 Upgrade frontend build stack (Guy Sartorelli)
    • 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/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)

Documentation

  • silverstripe/iframe (2.3.0 -> 3.0.0-beta1)

    • 2022-08-20 3a1faad Correct title for userhelp (Maxime Rainville)
  • silverstripe/taxonomy (2.4.0 -> 3.0.0-beta1)

    • 2022-08-20 59b6e01 Correct title for userhelp (Maxime Rainville)
  • bringyourownideas/silverstripe-maintenance (2.6.0 -> 3.0.0-beta1)

    • 2022-08-20 4320999 Correct title for userhelp (Maxime Rainville)
  • silverstripe/versionfeed (2.3.0 -> 3.0.0-beta1)

    • 2022-08-20 2ba0438 Correct title for userhelp (Maxime Rainville)
  • silverstripe/developer-docs (4.12.0 -> 5.0.0-beta1)

    • 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-02 65ee9bdd Clarify that we could upgrade a fixed dependency to add support for a newer PHP release (#148) (Maxime Rainville)
    • 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 6bef21e2 Update Email docs (Steve Boyd)
    • 2023-01-20 77c8932b Define what can be merge post beta (Maxime Rainville)
    • 2023-01-19 d7a676fb Add GuySartorelli as core committer (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-21 a4486349 Stop saying jQuery is legacy - it'll be around for a while. (#128) (Guy Sartorelli)
    • 2022-12-20 18625d85 Add information about deprecations (Steve Boyd)
    • 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-19 0d21be80 Fix typo in 4.12 changelog (Maxime Rainville)
    • 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)
  • silverstripe/registry (2.5.0 -> 3.0.0-beta1)

    • 2022-08-20 7926b3b Correct title for userhelp (Maxime Rainville)

Other changes

  • silverstripe/framework (4.12.0 -> 5.0.0-beta1)

    • 2023-01-27 3e5d99ded Prevent backslash in class name (Thomas Portelange)
    • 2022-12-13 4a1eb0c15 ISSUE-10615: Respect SS_BASE_URL scheme in CLI environment. (Shiva Kerdel)
    • 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.12.0 -> 5.0.0-beta1)

    • 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)
  • silverstripe/blog (3.11.0 -> 4.0.0-beta1)

    • 2022-11-17 20d9f45 Fixed type annotation (Pascal Schneider)
  • silverstripe/comments (3.9.0 -> 4.0.0-beta1)

    • 2022-11-20 57a9617 Add a key when enabling the CommentsExtension. (Steffen Maass)
  • cwp/cwp-search (1.7.0 -> 2.0.0-beta1)

    • 2022-11-16 899d1d2 Update form action to use absolute URL (James Zhu)
    • 2022-11-03 b287ed6 Update search link & form action to use absolute URL (James Zhu)
    • 2022-11-01 701e6fa Search link is using relative link (James Zhu)
  • symbiote/silverstripe-queuedjobs (4.11.0 -> 5.0.0-beta1)

    • 2022-11-08 43f7c67 Added quotes around value in yml (Lars Prakken)
  • silverstripe/developer-docs (4.12.0 -> 5.0.0-beta1)

    • 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)
    • 2022-12-02 2ee68ffa 4.0 changelog example for DBComposite missing return (Christopher Darling)
    • 2022-11-24 22f5aec9 Update code example to match PSR-12 standards. (Daniel)
    • 2022-11-21 b5c58741 Add deprecated methods in silverstripe-elemental (#113) (Sabina Talipova)
  • silverstripe/lumberjack (2.2.0 -> 3.0.0-beta1)

    • 2021-12-08 a7e6ea7 removed duplicate colon from lang files (Bumbus)
    • 2018-06-15 81ebf4e Add supported module badge to readme (Dylan Wagstaff)
  • symbiote/silverstripe-gridfieldextensions (3.5.0 -> 4.0.0-beta1)

    • 2022-02-17 2928504 removed param (josephlewisnz)
    • 2022-02-17 8e77095 updated to create syntax (josephlewisnz)
    • 2022-02-16 07c97e4 Added the ability to autopublish items that are already live (josephlewisnz)
  • silverstripe/silverstripe-fluent (4.7.0 -> 7.0.0-beta1)

    • 2023-01-18 7dbd07b Create a temporary fork of fluent (Maxime Rainville)
    • 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)