Version 4 supported
This version of Silverstripe CMS is still supported though will not receive any additional features. Go to documentation for the most recent stable version.

4.12.0-rc1

Overview

A full list of module versions included in CMS Recipe 4.12.0-rc1 is provided below. We recommend referencing recipes in your dependencies, rather than individual modules, to simplify version tracking. See Recipes.

Included module versions
ModuleVersion
silverstripe/admin1.12.0-rc1
silverstripe/asset-admin1.12.0-rc1
silverstripe/assets1.12.0-rc1
silverstripe/campaign-admin1.12.0-rc1
silverstripe/cms4.12.0-rc1
silverstripe/config1.5.0-rc1
silverstripe/errorpage1.12.0-rc1
silverstripe/framework4.12.0-rc1
silverstripe/graphql4.1.0-rc1
silverstripe/login-forms4.8.0-rc1
silverstripe/mimevalidator2.4.0
silverstripe/reports4.12.0-rc1
silverstripe/siteconfig4.12.0-rc1
silverstripe/versioned1.12.0-rc1
silverstripe/versioned-admin1.12.0-rc1
Supported module versions
ModuleVersion
bringyourownideas/silverstripe-composer-update-checker3.0.0
bringyourownideas/silverstripe-maintenance2.6.0
cwp/agency-extensions2.7.0
cwp/cwp2.10.1
cwp/cwp-core2.11.0
cwp/cwp-pdfexport1.4.0
cwp/cwp-search1.7.0
cwp/starter-theme3.2.1
cwp/watea-theme3.1.0
dnadesign/silverstripe-elemental4.10.0-rc1
dnadesign/silverstripe-elemental-userforms3.2.1
silverstripe/akismet4.4.0-rc1
silverstripe/auditor2.5.0
silverstripe/blog3.11.0-rc1
silverstripe/ckan-registry1.6.0-rc1
silverstripe/comment-notifications2.3.0
silverstripe/comments3.9.0-rc1
silverstripe/content-widget2.4.0
silverstripe/contentreview4.6.0-rc1
silverstripe/crontask2.5.0
silverstripe/documentconverter2.4.0-rc1
silverstripe/elemental-bannerblock2.6.0-rc1
silverstripe/elemental-fileblock2.4.0
silverstripe/environmentcheck2.6.0-rc1
silverstripe/externallinks2.3.0
silverstripe/fulltextsearch3.11.1
silverstripe/gridfieldqueuedexport2.7.0
silverstripe/html52.4.0
silverstripe/hybridsessions2.6.0-rc1
silverstripe/iframe2.3.0
silverstripe/ldap1.5.0-rc1
silverstripe/mfa4.7.0-rc1
silverstripe/realme4.3.0
silverstripe/registry2.5.0
silverstripe/restfulserver2.5.0
silverstripe/security-extensions4.4.0-rc1
silverstripe/securityreport2.5.0
silverstripe/segment-field2.7.0-rc1
silverstripe/sharedraftcontent2.8.0-rc1
silverstripe/sitewidecontent-report3.3.0
silverstripe/spamprotection3.3.0
silverstripe/spellcheck2.4.0
silverstripe/subsites2.7.0-rc1
silverstripe/tagfield2.10.1
silverstripe/taxonomy2.4.0
silverstripe/textextraction3.4.0
silverstripe/totp-authenticator4.5.0-rc1
silverstripe/userforms5.14.0-rc1
silverstripe/versionfeed2.3.0
silverstripe/webauthn-authenticator4.6.0-rc1
silverstripe/widgets2.3.0
symbiote/silverstripe-advancedworkflow5.8.0-rc1
symbiote/silverstripe-multivaluefield5.3.0
symbiote/silverstripe-queuedjobs4.11.0-rc1
tractorcow/silverstripe-fluent4.7.0

Release candidate

This version of Silverstripe CMS is a release candidate for an upcoming stable version, and should not be applied to production websites. We encourage developers to test this version in development / testing environments and report any issues they encounter via GitHub.

Features and enhancements

jQuery updated from 1.7 to 3.6

We've upgraded jQuery in the CMS from 1.7 to 3.6. Note that this won't affect your front-end at all unless you've been using back-end JavaScript in your front-end, which is heavily discouraged.

Why not wait to do this in CMS 5?

The latest patch for jQuery 1.7 was released in 2012. CMS 4 is going to remain in support for bug fixes for a year after CMS 5's release, and for security fixes for another year after that. Updating jQuery now means we can have greater confidence in the security of the CMS for the support lifetime of CMS 4. It also has the benefit of reducing the difference in maintenance surface between CMS 4 and CMS 5 - if there is some regression related to JavaScript in the CMS, we have one less variable to account for.

During the upgrade we've made the determination that the risk of breaking project-specific CMS customisations is quite low, and is far outweighed by the benefits of this upgrade.

Will this break my CMS customisations?

The short answer is that your CMS JavaScript customisations are unlikely to be affected unless your code is very old (e.g. you have a site upgraded from CMS 3 which has CMS JavaScript customisations from that time).

jQuery API changes

Very little has actually changed with the jQuery API itself over this time, for the most part any removed API was removed years ago. It's likely that most projects haven't been using old jQuery API unless they've inherited old code from CMS 3 customisations.

jQuery provides a list of deprecated API which also marks any API which has been removed. Most of these have recommendations for replacing them as well, so updating your code should be pretty straight forward.

While it is best practice to stop using any deprecated API, you should be able to just do a quick search through your back-end JavaScript and replace anything which the list marks as removed from jQuery - everything else was deprecated but is still present and working for the time being.

If you're using any jQuery extensions or plugins, it will pay to make sure these are up to date.

jQuery behaviour changes

jQuery has made some breaking behavioural changes over time. If you are experiencing problems after updating your usage of the jQuery API and any plugins you're using, you might want to check the jQuery upgrade guides to see if there is a solution to your problem there.

Entwine behavioural change

The only change to behaviour we've had to make to accommodate jQuery's breaking changes was with entwine's onadd and onmatch handlers. jQuery has made substantial changes to its internal functionality, especially in regards to how it adds elements to the DOM, so we had to change with it. Entwine used to change jQuery's internal functionality to fire events synchronously when adding elements to the DOM. It now uses a MutationObserver to detect elements being added to the DOM, which means the events are fired asynchronously.

This should only affect your project in the unlikely scenario that you are adding elements to the DOM, then immediately performing some action that relies on something having happened in the onadd or onmatch handler for those elements. Across all of the core and supported modules we only found one instance of this occurring. If you do have a scenario like this, you could defer the action like so:

Before:

$('.some-class').entwine({
  // Initialise something in the onmatch or onadd handler
  onmatch() {
    this.data('some-data', 'some-value');
  }
});
$('.some-other-class').entwine({
  // Add an instance of the above element into the DOM and then try to use the initialised data
  onclick() {
    this.parent(parentSelector).append('<div class="some-class"></div>');
    // Expects the data to have been set in onmatch instantly because the event used to be synchronous
    // The initiliasedData variable will almost certainly print "undefined" to the console, because the MutationObserver event hasn't fired yet
    const initiliasedData = this.siblings('.some-class').data('some-data');
  }
});

After:

$('.some-class').entwine({
  // Add an entwine property to defer initialisation events
  DeferredInitilisationCallback: null,
  // Add an entwine property to indicate whether this element has been initialised
  IsInitialised: false,
  // Initialise something in the onmatch or onadd handler
  onmatch() {
    this.data('some-data', 'some-value');
    this.setIsInitialised(true);
    // If some action was deferred, perform that action now
    const deferredCallback = this.getDeferredInitilisationCallback();
    if (typeof deferredCallback === 'function') {
      deferredCallback();
      this.setDeferredInitilisationCallback(null);
    }
  }
});
// Add an instance of the above element into the DOM and then try to use the initialised data
$('.some-other-class').entwine({
  onclick() {
    this.parent(parentSelector).append('<div class="some-class"></div>');
    const newElement = this.siblings('.some-class');
    // Check if the element has been initialised before performing the action - perform the action immediately or defer it if needed
    if (newElement.getIsInitialised()) {
      // this will almost never be reached but you might get a situation where the MutationObserver event fires immediately, so it pays to be safe
      // The initiliasedData variable contains "some-value", because it will be called after initialisation has finished
      const initiliasedData = newElement.data('some-data');
    } else {
      // Defer the action until the element has been initialised
      newElement.setDeferredInitilisationCallback(() => {
        // The initiliasedData variable contains "some-value", because it will be called after initialisation has finished
        const initiliasedData = newElement.data('some-data');
      });
    }
  }
});

Note that if you are not trying to use the initialised data/functionality immediately after adding the element to the DOM, this kind of change is not necessary (e.g. click event handlers which rely on the element the user is clicking having been initialised do not need to defer their actions like this, because the user is extremely unlikely to click the element in the time it takes for the MutationObserver to fire its events). It is very much exclusive to scenarios where code which adds or replaces elements in the DOM then immediately expects some initialisation to have occurred.

Search multiple searchable_fields by default

The general search text field which appears in the search interface now searches across all of your searchable fields by default. It will return a match if the search terms appear in any of the searchable fields.

If you have fields which you do not want to be searched with this general search (e.g. date fields which need special consideration), you can mark them as being explicitly excluded by setting general to false in the searchable fields configuration for that field:

namespace App\Model;

use SilverStripe\ORM\DataObject;

class MyDataObject extends DataObject
{
    private static $searchable_fields = [
        'Name',
        'BirthDate' => [
            'general' => false,
        ],
    ];
}

There is also additional configuration, such as which SearchFilter it uses (PartialMatchFilter by default), and whether it should split the search query into individual search terms or search as a phrase. Check out General search field for more information.

Samesite attribute on cookies

The samesite attribute is now set on all cookies. To avoid backward compatibility issues, the Lax value has been set by default, but we recommend reviewing the requirements of your project and setting an appropriate value.

The default value can be set for all cookies (except for the session cookie) in YAML configuration like so:

SilverStripe\Control\Cookie:
  default_samesite: 'Strict'

Check out the cookies documentation for more information.

The session cookie is handled separately. You can configure it like so:

SilverStripe\Control\Session:
  cookie_samesite: 'Strict'

Note that if you set the samesite attribute to None, the secure is automatically set to true as required by the specification.

For more information about the samesite attribute check out https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie/SameSite

The canView permission required to access a submitted file in userForm

A security enhancement to UserForm has been made to protect files uploaded using UserDefinedForm from unauthorised access by content authors who do not have access to the submitted files folder. If a content author with access to the UserForm page does not have sufficient can view rights on submitted files, they will see the message "Insufficient rights to view the file" and will not be able to access the file.

If you want to retain the previous behaviour and automatically grant content authors access to view submitted files, you can apply the following extension to your project.

// app/src/Extension/MyFileExtension.php
namespace App\Extension;

use SilverStripe\ORM\DataExtension;
use SilverStripe\Security\Member;

class MyFileExtension extends DataExtension
{
    public function canView(Member $member)
    {
        $submittedFileField = $this->getOwner()->SubmittedFileField;
        if ($submittedFileField && $submittedFileField->canView($member)) {
            return true;
        }
    }
}

Then just apply this extension through your config to File class:

# app/_config/app.yml
SilverStripe\Assets\File:
  extensions:
    - App\Extension\MyFileExtension

New convenience methods for ModelAdmin

ModelAdmin has some new methods to make it easier to work with:

  • getCMSEditLinkForManagedDataObject() returns a link to the edit form for the object passed in, assuming it's managed by this ModelAdmin.
  • getLinkForModelClass() returns a link to the tab for a specific class in the ModelAdmin - useful as a base for links to specific actions.
  • getLinkForModelTab() similar to getLinkForModelClass(), except you pass in a specific model tab you want a link to. This is useful if your ModelAdmin has multiple tabs for managing a single class.
  • isManagedModel returns true if the class or model tab passed in is managed by this ModelAdmin. EditForm

New CMSEditLinkExtension

The silverstripe/admin module has a new CMSEditLinkExtension which is used to generate CMS edit links for DataObject records, including those in nested GridField setups.

This allows you to share DataObject edit links directly with others. This extension is also used to facilitate CMS preview of DataObject records

See managing records for a detailed explanation of this extension.

Assets API formalisation and deprecations

In the Silverstripe CMS 4.4 release, many aspects of the silverstripe/assets module were refactored to support permanent links.

Many new abstractions were created in the process. However, those new abstractions were marked as @internal and were not covered by Silverstripe CMS's semantic versioning commitment. Multiple file migration tasks were also added in that release.

With Silverstripe CMS 5 on the horizon, it is an opportune time to formalise some of those abstractions and to deprecate those migration tasks.

The following classes and methods are now officially part of the Silverstripe CMS API:

These new abstractions make several APIs redundant. The following methods are deprecated in the Silverstripe CMS 4.12 release and will be removed in Silverstripe CMS 5:

Silverstripe CMS 4 includes multiple tasks to migrate files to newer states. These tasks will no longer be needed in Silverstripe CMS 5. The following tasks and helpers have been deprecated in Silverstripe CMS 4 and will be removed in Silverstripe CMS 5:

Other new features

Bugfixes

This release includes a number of bug fixes to improve a broad range of areas. Check the change logs for full details of these fixes split by module. Thank you to the community members that helped contribute these fixes as part of the release!

Deprecation class

The Deprecation class did not function correctly when used with modules that had a version less than 4.0.0, notably modules such as silverstripe/admin which has a major version of 1. The old "version filtering" functionality has been replaced with a simple call to Deprecation::enabled() that will show all deprecation notices, regardless of the version passed as the first parameter.

Change log

Features and enhancements

  • silverstripe/installer (4.11.0 -> 4.12.0-rc1)

    • 2022-06-01 57195ea Add and ignore public/_graphql (Guy Sartorelli)
    • 2022-05-30 612ff29 Add .graphql-generated directory by default. (Guy Sartorelli)
  • silverstripe/assets (1.11.0 -> 1.12.0-rc1)

    • 2020-03-31 e5e953f Don't use deprecated allVersions (Dan Hensby)
  • silverstripe/config (1.4.0 -> 1.5.0-rc1)

    • 2022-10-31 e8576a5 Record deprecated config (Steve Boyd)
  • silverstripe/framework (4.11.0 -> 4.12.0-rc1)

    • 2022-11-02 c925fae18 Add onBeforeRender extension hook to Form (Loz Calver)
    • 2022-10-31 b1dc861aa Record deprecated config (Steve Boyd)
    • 2022-10-13 33b6a00f4 Update deprecation messages (Steve Boyd)
    • 2022-10-12 299190166 Update deprecation messages (Steve Boyd)
    • 2022-10-11 cc4903661 Standardise deprecation messages (Steve Boyd)
    • 2022-09-15 5111b56ac Add PHP 8.1 safe null-coalescing operators to peg file (Steve Boyd)
    • 2022-08-24 a3c1cb0dd Set PasswordEncryption on default admin (Steve Boyd)
    • 2022-08-15 10ef46a5e Make DataObject::exists() an alias of DataObject::isInDB() (#10407) (Guy Sartorelli)
    • 2022-08-05 c0b38fc41 Update page number in the state on reaching the first or the last element in a list (Sabina Talipova)
    • 2022-08-01 11595952f Search across multiple searchable fields by default (#10382) (Guy Sartorelli)
    • 2022-07-19 d3f104382 Add support for autoloading PHP 8.1 enums (Loz Calver)
    • 2022-07-17 7a9bc7f57 Keep Request in URL (Sabina Talipova)
    • 2022-07-14 af3c50c9d Set many_many_extraFields data via the ORM (Guy Sartorelli)
    • 2022-06-23 74e5a94b3 Update list of methods to have filtered args in backtrace. (Guy Sartorelli)
    • 2022-06-23 d448622ff Allow subclasses to be defined for backtrace filtered functions. (Guy Sartorelli)
    • 2022-06-23 2b0df5817 Minor performance enhancement for backtrace. (Guy Sartorelli)
    • 2022-06-23 268a66418 Move backtrace ignored functions into yml config. (Guy Sartorelli)
    • 2022-06-23 7f7feb860 Refactor Backtrace to be a bit more readable. (Guy Sartorelli)
    • 2022-06-09 1c85d151a Add factory_method configuration to Injector (Paweł Suwiński)
    • 2022-05-26 31c974c52 Add samesite attribute to cookies. (Guy Sartorelli)
    • 2022-05-22 a8652f7cb Restore gridfield state from get vars (Guy Sartorelli)
    • 2022-05-20 70f1dc884 Override record if a provided GroupId with provided Code already exist in Permission table. (Sabina Talipova)
    • 2022-05-13 78d20f6fe Mock sleep unit test utility. (Mojmir Fendek)
    • 2022-05-10 26d59944e RemoveAll() memory performance enhancement. (Mojmir Fendek)
    • 2021-11-09 a2906cd02 Requirements_Backend::resolveCSSReferences(): Tests, config, doc, safety. (Sergey Shevchenko)
    • 2021-11-08 8370ffc2a Test for Requirements_Backend::resolveCSSReferences() (Sergey Shevchenko)
    • 2021-11-01 c5e68dd2c resolve relative references in CSS files when combining (Sergey Shevchenko)
    • 2019-11-26 07a6c1191 Allow search field customisation in GridFieldFilterHeader (Aaron Carlino)
    • 2019-06-03 94d1ac8d9 Various changes via static analysis tooling (Viktor Szépe)
  • silverstripe/admin (1.11.0 -> 1.12.0-rc1)

    • 2022-11-28 312f5133 Remove unnecessary workaround (Guy Sartorelli)
    • 2022-09-30 769bbabb Add an extension to dynamically generate edit URLs (#1361) (Guy Sartorelli)
    • 2022-09-20 b963da67 New API for managing models in ModelAdmin (#1360) (Guy Sartorelli)
    • 2022-08-30 35fc2131 Run Behat test with less than ADMIN permissions (Sabina Talipova)
    • 2022-08-25 ee75581c Use short array syntax (Guy Sartorelli)
    • 2022-08-05 c2e8b9f8 Behat test cases for GridField navigation (Sabina Talipova)
    • 2022-08-02 93660763 Make gridfield search options more accessible (#1329) (Guy Sartorelli)
    • 2022-07-28 09a742f1 Display error messages in admin with an admin context (#1317) (Guy Sartorelli)
    • 2022-07-19 b86259d9 Keep State and show Search field if any keywords are presented (Sabina Talipova)
    • 2017-05-19 04e80f51 Remove legacy translation behaviour in template (Robbie Averill)
  • silverstripe/asset-admin (1.11.0 -> 1.12.0-rc1)

    • 2022-10-18 2475c296 Update deprecation messages (Steve Boyd)
    • 2022-08-31 a2c3dc48 Replace ADMIN permissions with less permissions in Behat test (Sabina Talipova)
    • 2022-07-13 2976089d Extensibility improvement for FileFilterInputTypeCreator. (Mojmir Fendek)
  • silverstripe/campaign-admin (1.11.0 -> 1.12.0-rc1)

    • 2022-08-31 4d0f492 Replace ADMIN permissions with less permissions in Behat test (Sabina Talipova)
  • silverstripe/versioned-admin (1.11.0 -> 1.12.0-rc1)

    • 2022-10-18 af411eb Update deprecation messages (Steve Boyd)
    • 2022-09-05 7727156 Replace ADMIN permissions with less permissions in Behat test (Sabina Talipova)
  • silverstripe/cms (4.11.0 -> 4.12.0-rc1)

    • 2022-10-18 ea92339d Update deprecation messages (Steve Boyd)
    • 2022-09-30 1f360c9c Use the new CMSEditLinkExtension on SiteTree (#2778) (Guy Sartorelli)
    • 2022-09-05 19e9dc49 Replace ADMIN permissions with less permissions in Behat test (Sabina Talipova)
    • 2022-09-01 2b8bee79 Don't use deprecated method doRevertTo() (#2775) (Guy Sartorelli)
    • 2022-05-25 845f0b3a Always load anchors for links on the current page. (Guy Sartorelli)
  • silverstripe/errorpage (1.11.0 -> 1.12.0-rc1)

    • 2022-07-28 8b6caad Let LeftAndMain handle its own errors. (#67) (Guy Sartorelli)
  • silverstripe/reports (4.11.0 -> 4.12.0-rc1)

    • 2019-01-09 213f7167 Fix phpcs violations (Robbie Averill)
  • silverstripe/siteconfig (4.11.0 -> 4.12.0-rc1)

    • 2022-09-06 b3bd3b48 Replace ADMIN permissions with less permissions in Behat test (Sabina Talipova)
  • silverstripe/versioned (1.11.0 -> 1.12.0-rc1)

    • 2017-05-18 1a233ce Prefer ::class syntax over class strings (Robbie Averill)
  • silverstripe/graphql (4.0.0 -> 4.1.0-rc1)

    • 2022-11-13 922653a More fidelity in error reporting (Steve Boyd)
    • 2022-06-23 f39d875 Update list of filtered backtrace methods (Guy Sartorelli)
  • silverstripe/login-forms (4.7.0 -> 4.8.0-rc1)

    • 2022-05-15 1a46ec1 Add config variable to fully disable dark mode. (Guy Sartorelli)
  • silverstripe/documentconverter (2.3.0 -> 2.4.0-rc1)

    • 2022-06-23 f9be418 Update list of filtered backtrace methods (Guy Sartorelli)
  • silverstripe/blog (3.10.0 -> 3.11.0-rc1)

    • 2022-08-31 c785696 Replace ADMIN permissions with less permissions in Behat test (Sabina Talipova)
  • silverstripe/akismet (4.3.0 -> 4.4.0-rc1)

    • 2022-06-23 949e814 Update list of filtered backtrace methods (Guy Sartorelli)
  • silverstripe/contentreview (4.5.0 -> 4.6.0-rc1)

    • 2022-09-02 495e746 Replace ADMIN permissions with less permissions in Behat test (Sabina Talipova)
    • 2022-06-22 1cf0f01 Allow for optional can permission method for content review (#152) (Mo Alsharaf)
  • silverstripe/userforms (5.13.0 -> 5.14.0-rc1)

    • 2022-09-05 2444e84 Replace ADMIN permissions with less permissions in Behat test (Sabina Talipova)
    • 2022-08-11 2750bc3 Protect access to the uploaded file without permission (Sabina Talipova)
    • 2022-05-23 d81da1e Save modified form data when adding new field (Steve Boyd)
    • 2020-10-31 0ff7273 Maximum email attachment size can be configured (Dylan Wagstaff)
  • dnadesign/silverstripe-elemental (4.9.0 -> 4.10.0-rc1)

    • 2022-10-18 6d4b9f7 Update deprecation messages (Steve Boyd)
    • 2022-08-29 90feafd Run Behat test with less than ADMIN permissions (Sabina Talipova)
    • 2022-05-25 2ddc79c Get anchor links from elemental pages (Guy Sartorelli)
  • silverstripe/elemental-bannerblock (2.5.0 -> 2.6.0-rc1)

    • 2022-08-31 4cd887d Replace ADMIN permissions with less permissions in Behat test (Sabina Talipova)
  • symbiote/silverstripe-queuedjobs (4.10.0 -> 4.11.0-rc1)

    • 2022-10-04 986173b Add a Type and Status filter to Jobs (#385) (Maxime Rainville)
    • 2022-09-19 5a38f94 Doorman runner extensibility enhancement. (#387) (Mojmir Fendek)
    • 2022-07-01 d3a1af7 fix missing styling on success message (#352) (Will Rossiter)
    • 2022-02-02 9e44555 Default jobs / queue type configuration. (Mojmir Fendek)
  • silverstripe/hybridsessions (2.5.1 -> 2.6.0-rc1)

    • 2022-06-23 98885f2 Update list of filtered backtrace methods (Guy Sartorelli)
  • silverstripe/developer-docs (4.11.0 -> 4.12.0-rc1)

    • 2022-06-09 0142cd29 Add factory_method configuration to Injector (Paweł Suwiński)
    • 2022-05-26 a8d5f27b Add samesite attribute to cookies. (Guy Sartorelli)
  • silverstripe/totp-authenticator (4.4.0 -> 4.5.0-rc1)

    • 2022-11-01 1725bb2 Update translations (Steve Boyd)
    • 2022-09-06 cd00e71 Replace ADMIN permissions with less permissions in Behat test (Sabina Talipova)
    • 2022-05-15 7b68919 Don't use dark mode style when dark mode is disabled (Guy Sartorelli)
  • silverstripe/mfa (4.6.1 -> 4.7.0-rc1)

    • 2022-11-01 67b8ecf Update translations (Steve Boyd)
    • 2022-06-23 440f309 Update list of filtered backtrace methods (Guy Sartorelli)
    • 2022-05-17 c72683a Don't use dark mode style when dark mode is disabled (Guy Sartorelli)
  • silverstripe/ldap (1.4.0 -> 1.5.0-rc1)

    • 2022-06-23 617fe58 Update list of filtered backtrace methods (Guy Sartorelli)
  • silverstripe/webauthn-authenticator (4.5.0 -> 4.6.0-rc1)

    • 2022-05-17 45b2976 Don't use dark mode style when dark mode is disabled (Guy Sartorelli)
  • silverstripe/subsites (2.6.0 -> 2.7.0-rc1)

    • 2022-09-05 5eb7e8a Replace ADMIN permissions with less permissions in Behat test (Sabina Talipova)
    • 2022-07-28 74b6cec added config setting to ignore subsite language (#481) (Bart van Irsel)

Bugfixes

  • silverstripe/framework (4.11.0 -> 4.12.0-rc1)

    • 2022-11-29 b10762240 Improve rounding logic for storing of long decimal numbers (#10593) (Michal Kleiner)
    • 2022-11-02 e2cb683f1 Stop FormField onBeforeRenderHolder extension result being overridden (Loz Calver)
    • 2022-11-01 128f78c1c Filter out E_USER_DEPRECATED unrelated to unit test (Steve Boyd)
    • 2022-10-20 897f9906f Handle calling Deprecation::notice() before manifests are available (Steve Boyd)
    • 2022-10-20 bd2eb15c7 Ensure Deprecation works with 1.x branches (Steve Boyd)
    • 2022-10-19 e3a6cad8a Allow passing objects to InjectionCreator::create() (Steve Boyd)
    • 2022-10-13 1ee0aff1d Prevent infinite loops in Deprecation::notice() (Steve Boyd)
    • 2022-09-26 4a598ded5 Allow removing named extensions in yaml config (Guy Sartorelli)
    • 2022-08-25 6d885ab89 Normalise casing before casting fields (Guy Sartorelli)
    • 2022-08-05 ebb1601d5 fix: misc suggested changes (Sergey Shevchenko)
    • 2022-08-02 bc9a32341 fix: more tests, improved paths detection, readability (Sergey Shevchenko)
    • 2022-08-01 6b15bd6dd Invalid argument warning in backtrace (Loz Calver)
    • 2022-07-21 dd210e0f8 Check if blank method passed (#10417) (Steve Boyd)
    • 2022-07-04 9b45342a0 Add missing casting for Form::getAttributesHTML (fixes #10386) (Loz Calver)
    • 2022-07-04 ad83b78a1 Handle null values passed to PDO::quote() (#10383) (Brandon Iffert)
    • 2022-07-03 babc81138 Remove unexpected message (Sabina Talipova)
    • 2022-07-01 b37178e83 'passwordsent' title was not being displayed (fixes #10366) (#10367) (Loz Calver)
    • 2022-06-30 5a940b0f1 PDO in PHP 8 (Steve Boyd)
    • 2022-06-29 6c0166151 Support search filters with match_any searchable_fields (Guy Sartorelli)
    • 2022-06-28 a77ca74a7 Ensure not passing null to mysql methods for PHP 8.1 compatibility (Steve Boyd)
    • 2022-06-27 fbee03562 fix: Syntax for declaring enums in YML (Roman Schmid)
    • 2022-06-27 c80e10f89 PDO transaction in PHP 8, add GitHub Actions CI (#10360) (Steve Boyd)
    • 2022-05-30 e24fb3f86 Fix i18nTextCollector produces corrupt output / namespaces when running under PHP8.0 (#10228) (Christian Bünte)
    • 2022-05-24 e0c4f01c1 Resolve deduping problem with group codes. (Guy Sartorelli)
    • 2022-05-10 e91b7be05 Use DataColumns content when available in CSV export (Steve Piner)
    • 2022-05-02 5436df57e Add polymorphic class on new records for use in forms. (Guy Sartorelli)
    • 2022-04-29 19bb72e7c Correctly remove relations with ManyManyThroughList::removeall (Guy Sartorelli)
    • 2021-05-25 33600c3b7 Manually create singleton when building table (Maxime Rainville)
    • 2021-03-31 f1e5c72e4 fieldNameError() references invalid $this->form (Christopher Darling)
  • silverstripe/admin (1.11.0 -> 1.12.0-rc1)

    • 2022-10-18 adb1198f Don't try to parse non-existent gridfield state (Guy Sartorelli)
    • 2022-10-07 5c7554dd Don't assume dataclass is in the spec. (Guy Sartorelli)
    • 2022-09-19 7892f7a6 Warning: Undefined array key "Locale" (#1365) (Thomas Portelange)
    • 2022-08-18 6161caf1 Do not reverse state change when reauthenticating (Steve Boyd)
    • 2022-08-01 a441d91e Don't pass null as LeftAndMain error message. (#1335) (Guy Sartorelli)
    • 2022-08-01 523821bc Don't overwrite JSON errors with templated error page (#1334) (Guy Sartorelli)
    • 2022-07-29 643dd5c9 Don't override ajax errors or use uninitialised property (Guy Sartorelli)
    • 2022-05-24 b9f93789 fix undefined el (Thomas Portelange)
    • 2022-05-24 0f32a297 fix jquery + remove once (Thomas Portelange)
    • 2022-05-23 ff7ba9ea fix selector (Thomas Portelange)
    • 2022-05-04 340a24c2 Collapse the preview panel by default if no preview is available. (Guy Sartorelli)
    • 2022-04-14 a96c99c7 Allow localisation of hardcoded link strings. (Guy Sartorelli)
    • 2022-01-10 4ca59430 Inconsistent state between current URL and actual content if XHR request fails: Ensuring we only reverse to previous state if current XHR failure is a server request, exclude aborts. Also unpause state via setTimeout() due to unfortunate use of setTimeout() in window.ss.router.back(). (Patrick Nelson)
    • 2019-11-26 20ef8e71 case error in SelectionGroup template (Mason Dechaineux)
  • silverstripe/asset-admin (1.11.0 -> 1.12.0-rc1)

    • 2022-07-26 b346e501 Include default_sort in sortChildren method (Steve Boyd)
    • 2022-06-09 fb299b3a Show correct error message instead of successful message if file exceeding maximum file size (Sabina Talipova)
  • silverstripe/versioned-admin (1.11.0 -> 1.12.0-rc1)

    • 2019-04-21 33dbd45 Replace references to allVersions(), now Versions() in Versioned extension (Robbie Averill)
  • silverstripe/cms (4.11.0 -> 4.12.0-rc1)

    • 2022-11-01 7a7c751f Don't use deprecated jQuery functions (#2792) (Guy Sartorelli)
    • 2022-10-18 e6377406 Call parent::contruct() (Steve Boyd)
    • 2022-07-08 4d679ab4 Hide uploadfield in redirector page by default (Guy Sartorelli)
    • 2022-07-06 6bd3618f Fix CS (Michal Kleiner)
    • 2022-06-09 ead1d2f0 Always include unsaved anchors from the current WYSIWYG field (Guy Sartorelli)
    • 2022-05-06 83104da3 Ensure unstaged versioned objects can be previewed. (Guy Sartorelli)
    • 2022-05-04 c02549cf Allow empty PreviewURLs for CMSPreviewable objects (Guy Sartorelli)
    • 2018-11-26 79f3fd72 Use publishRecursive() over doPublish() (Robbie Averill)
  • silverstripe/versioned (1.11.0 -> 1.12.0-rc1)

    • 2022-06-16 0dda24a comparing versions when class changes (#363) (Will Rossiter)
  • silverstripe/graphql (4.0.0 -> 4.1.0-rc1)

    • 2022-11-23 5372d97 Ensure vars is defined in QueryCachingMiddleware (Nicolaas / Sunny Side Up)
    • 2022-08-05 8269556 prevent installation with incompatible modules (Steve Boyd)
  • silverstripe/tagfield (2.9.0 -> 2.10.1)

    • 2022-11-07 3975920 Ignore hidden inputs for tracking unsaved changes (Rens)
    • 2022-07-26 8da9f83 fix: Fall back to the ID if no title is given (Roman Schmid)
    • 2022-07-25 560a139 fix: Do not use getField to allow for field fallback values (Roman Schmid)
    • 2022-07-04 e34d6e4 fix: Use the title-field for has_one DataObject relations (Roman Schmid)
    • 2022-06-28 bc7bf52 fix: Deal with DataObjects or Int values, so that the correct value is shown with has_one (Roman Schmid)
    • 2022-06-07 527c5b2 Selected tag is not shown when isMutliple is false (#201) (Will Rossiter)
  • silverstripe/comments (3.8.0 -> 3.9.0-rc1)

    • 2022-06-12 d87dbc8 fix: field formatting to correct include link (Will Rossiter)
  • silverstripe/contentreview (4.5.0 -> 4.6.0-rc1)

    • 2021-09-14 a821edf Allow users with the CMS_ACCESS_LeftAndMain permission to be added (Steve Boyd)
  • silverstripe/sharedraftcontent (2.7.0 -> 2.8.0-rc1)

    • 2022-06-08 e465937 Logout bug on shared preview page (Sabina Talipova)
  • silverstripe/userforms (5.13.0 -> 5.14.0-rc1)

    • 2022-10-27 c0fd386 Fix incorrect label on unwritten field groups (Loz Calver)
    • 2022-06-13 3cd8c7e submission performance issues with large data (Dylan Wagstaff)
    • 2022-06-01 63c6326 MAX_FILE_SIZE of the last EditableFileField (Sabina Talipova)
    • 2022-05-25 0c066a3 Add skipping argument and new behat tests (Sabina Talipova)
  • dnadesign/silverstripe-elemental (4.9.0 -> 4.10.0-rc1)

    • 2022-08-08 54246f9 Use consistent name for BaseElement graphql typename (#996) (Guy Sartorelli)
    • 2022-07-13 09355b0 Obsolete classes don't break the elemental area. (Guy Sartorelli)
    • 2022-05-04 24f6cde Use PreviewLink of the owner object to preview blocks (Guy Sartorelli)
    • 2022-04-13 2195434 getOwnerPage() should respect Versioned state. (Will Rossiter)
  • silverstripe/recipe-solr-search (2.11.0 -> 2.12.0-rc1)

    • 2022-07-21 d4bf6cb Ensure injectable version of queuedjobs is installed (Steve Boyd)
  • symbiote/silverstripe-queuedjobs (4.10.0 -> 4.11.0-rc1)

    • 2022-05-31 8e4ba4f Correctly log errors during job initialisation (fixes #316) (Loz Calver)
  • silverstripe/environmentcheck (2.5.0 -> 2.6.0-rc1)

    • 2022-07-01 3e3907d fix: public health/check should not include full details (Will Rossiter)
  • silverstripe/developer-docs (4.11.0 -> 4.12.0-rc1)

    • 2022-09-26 1bf02894 fix: add missing highlighting to code example (Nick)
    • 2022-06-27 b65f45ca fix: Syntax for declaring enums in YML (Roman Schmid)
  • silverstripe/mfa (4.6.1 -> 4.7.0-rc1)

    • 2022-10-30 dd501c1 phpdoc for better symbols resolving (Sergey Shevchenko)
    • 2022-08-22 6f6be46 Strip spaces out of recovery code input (#463) (Phillip King)
  • silverstripe/ldap (1.4.0 -> 1.5.0-rc1)

    • 2022-08-30 fcc3e81 Remove call to deprecated constructExtensions method (Steve Boyd)
    • 2022-07-26 dbfebd1 Use injectable version of queuedjobs (Steve Boyd)
  • silverstripe/subsites (2.6.0 -> 2.7.0-rc1)

    • 2022-07-19 6e1b504 Move files to client directory (Steve Boyd)
  • dnadesign/silverstripe-elemental-userforms (3.2.0 -> 3.2.1)

    • 2022-05-17 78c875b Check current controller has a functional link (Steve Boyd)

API changes

  • silverstripe/assets (1.11.0 -> 1.12.0-rc1)

    • 2022-10-25 aeca7ea Update deprecations (#523) (Steve Boyd)
    • 2022-10-20 fffce6e Deprecate a bunch of legacy file method and tasks (#525) (Maxime Rainville)
  • silverstripe/config (1.4.0 -> 1.5.0-rc1)

    • 2022-10-25 00406ea Update deprecations (#70) (Steve Boyd)
  • silverstripe/framework (4.11.0 -> 4.12.0-rc1)

    • 2022-11-01 9091d6465 Deprecate Member::create_new_password() (Steve Boyd)
    • 2022-10-13 9c453abf8 Update deprecations (Steve Boyd)
    • 2022-10-12 e6aa183eb Update deprecations for SapphireTest and FunctionalTest (Steve Boyd)
    • 2022-10-07 0852f504f Update deprecations for SapphireTest and FunctionalTest (Steve Boyd)
    • 2022-10-07 906cd0e76 Deprecate render() (#10527) (Steve Boyd)
    • 2022-10-05 96a931d24 Deprecate swiftmailer (Steve Boyd)
    • 2022-08-10 a7461a8ff Deprecate PHPUnit 5.7 compatability hacks (Guy Sartorelli)
    • 2022-07-05 29fae7221 TableBuilder class reduces inconsistency between temp & prod db (Guy Sartorelli)
    • 2022-05-02 2836478c7 Add method to get foreign class key on polymorphic has_many (Guy Sartorelli)
  • silverstripe/admin (1.11.0 -> 1.12.0-rc1)

    • 2022-10-25 48a7d7ff Update deprecations (#1384) (Steve Boyd)
  • silverstripe/asset-admin (1.11.0 -> 1.12.0-rc1)

    • 2022-10-25 50f45ffa Update deprecation message (Steve Boyd)
    • 2022-10-25 dab917e0 Update __construct() signatures (Steve Boyd)
    • 2022-10-25 dac6e3ab Update deprecations (Steve Boyd)
  • silverstripe/campaign-admin (1.11.0 -> 1.12.0-rc1)

    • 2022-10-25 50ca6d6 Update deprecations (#246) (Steve Boyd)
  • silverstripe/versioned-admin (1.11.0 -> 1.12.0-rc1)

    • 2022-10-18 e127b51 Update deprecations (Steve Boyd)
  • silverstripe/cms (4.11.0 -> 4.12.0-rc1)

    • 2022-10-18 55b17c92 Update deprecations (Steve Boyd)
  • silverstripe/versioned (1.11.0 -> 1.12.0-rc1)

    • 2022-10-25 ece9003 Update deprecations (#375) (Steve Boyd)
  • dnadesign/silverstripe-elemental (4.9.0 -> 4.10.0-rc1)

    • 2022-10-20 291057d Update deprecations (Steve Boyd)

Dependencies

  • silverstripe/installer (4.11.0 -> 4.12.0-rc1)

    • 2022-05-05 8fe8bf5 4.11 dev requirements (Steve Boyd)
  • silverstripe/recipe-cms (4.11.0 -> 4.12.0-rc1)

    • 2022-05-09 5665a59 Allow graphql 3.8 dev dependency (Steve Boyd)
    • 2022-05-06 ff4400a 4.11 dev requirements (Steve Boyd)
  • silverstripe/recipe-core (4.11.0 -> 4.12.0-rc1)

    • 2022-05-09 1560c62 4.11 dev requirements (Steve Boyd)
  • silverstripe/framework (4.11.0 -> 4.12.0-rc1)

    • 2022-07-22 6e6db8a27 Bump minimum version of nikic/php-parser for enum support (Loz Calver)
  • silverstripe/admin (1.11.0 -> 1.12.0-rc1)

    • 2022-11-01 be31300d Update jQuery to 3.x (#1375) (Guy Sartorelli)
  • silverstripe/campaign-admin (1.11.0 -> 1.12.0-rc1)

    • 2022-04-01 b8400cd Update JS dependencies (github-actions)
  • silverstripe/versioned-admin (1.11.0 -> 1.12.0-rc1)

    • 2022-04-01 ba25124 Update JS dependencies (github-actions)
  • silverstripe/session-manager (1.3.0 -> 1.4.0-rc1)

    • 2022-07-08 a4e69a2 Bump moment from 2.29.1 to 2.29.4 (dependabot[bot])
    • 2022-04-01 a1b071c Update JS dependencies (github-actions)
  • silverstripe/login-forms (4.7.0 -> 4.8.0-rc1)

    • 2022-04-01 f2bcb62 Update JS dependencies (github-actions)
  • silverstripe/recipe-authoring-tools (1.11.0 -> 1.12.0-rc1)

    • 2022-05-06 ceb11f6 4.11 dev requirements (Steve Boyd)
  • silverstripe/tagfield (2.9.0 -> 2.10.1)

    • 2022-04-01 1a4dfc5 Update JS dependencies (github-actions)
  • silverstripe/recipe-blog (1.11.0 -> 1.12.0-rc1)

    • 2022-05-04 9f4fef4 4.11 dev requirements (Steve Boyd)
  • silverstripe/blog (3.10.0 -> 3.11.0-rc1)

    • 2022-04-01 c96b127 Update JS dependencies (github-actions)
  • silverstripe/comments (3.8.0 -> 3.9.0-rc1)

    • 2022-04-01 efe5b1e Update JS dependencies (github-actions)
  • silverstripe/recipe-collaboration (1.11.0 -> 1.12.0-rc1)

    • 2022-05-09 b0e97ff 4.11 dev requirements (Steve Boyd)
  • silverstripe/sharedraftcontent (2.7.0 -> 2.8.0-rc1)

    • 2022-04-01 7487002 Update JS dependencies (github-actions)
  • symbiote/silverstripe-advancedworkflow (5.7.0 -> 5.8.0-rc1)

    • 2022-04-28 ea3e327 Bump async from 2.6.0 to 2.6.4 (dependabot[bot])
  • silverstripe/recipe-form-building (1.11.0 -> 1.12.0-rc1)

    • 2022-05-06 080e731 4.11 dev requirements (Steve Boyd)
  • silverstripe/segment-field (2.6.0 -> 2.7.0-rc1)

    • 2022-04-01 c9ff138 Update JS dependencies (github-actions)
  • silverstripe/userforms (5.13.0 -> 5.14.0-rc1)

    • 2022-07-26 bb101a6 Ensure phpunit9 compatible version of segment-field (Steve Boyd)
    • 2022-05-26 8feb4ba Require a minimum version of segment field that installs in the vendor folder (Steve Boyd)
    • 2021-08-10 e3d2c37 Bump path-parse from 1.0.6 to 1.0.7 (dependabot[bot])
  • silverstripe/recipe-reporting-tools (1.11.0 -> 1.12.0-rc1)

    • 2022-05-06 90dcf87 4.11 dev requirements (Steve Boyd)
  • silverstripe/recipe-services (1.11.0 -> 1.12.0-rc1)

    • 2022-05-09 ba996c4 4.11 dev requirements (Steve Boyd)
  • silverstripe/recipe-content-blocks (2.11.0 -> 2.12.0-rc1)

    • 2022-05-05 cedc64b 4.11 dev requirements (Steve Boyd)
  • dnadesign/silverstripe-elemental (4.9.0 -> 4.10.0-rc1)

    • 2022-04-28 1209797 Bump async from 2.6.3 to 2.6.4 (dependabot[bot])
    • 2022-04-01 5ba2a0d Update JS dependencies (github-actions)
  • silverstripe/elemental-bannerblock (2.5.0 -> 2.6.0-rc1)

    • 2022-04-01 feb1f56 Update JS dependencies (github-actions)
  • silverstripe/recipe-solr-search (2.11.0 -> 2.12.0-rc1)

    • 2022-05-05 b928521 4 branch dev requirements (Steve Boyd)
  • silverstripe/fulltextsearch (3.11.0 -> 3.11.1)

    • 2022-05-30 ef2d27f Require proxy-db ^1 (Steve Boyd)
  • silverstripe/mfa (4.6.1 -> 4.7.0-rc1)

    • 2022-04-29 e6d9044 Bump async from 2.6.3 to 2.6.4 (dependabot[bot])
    • 2022-04-01 9d7d5c6 Update JS dependencies (github-actions)
  • silverstripe/ckan-registry (1.5.0 -> 1.6.0-rc1)

    • 2022-04-01 98a41bb Update JS dependencies (github-actions)
  • silverstripe/webauthn-authenticator (4.5.0 -> 4.6.0-rc1)

    • 2022-04-01 29c5a62 Update JS dependencies (github-actions)
  • silverstripe/security-extensions (4.3.0 -> 4.4.0-rc1)

    • 2022-04-01 e162b56 Update JS dependencies (github-actions)

Documentation

  • silverstripe/assets (1.11.0 -> 1.12.0-rc1)

    • 2018-08-05 dc8b6ee Fix doc for FileNameFilter (Shenghan Chen)
  • silverstripe/framework (4.11.0 -> 4.12.0-rc1)

    • 2022-07-15 d65ba0d71 Fix DataObject examples (Nicola Fontana)
    • 2022-06-30 30cd52102 Update docs for searchable and summary fields. (Guy Sartorelli)
    • 2022-06-28 4d18d3662 Remove pre-release warnings from GraphQL docs. (#10354) (Guy Sartorelli)
    • 2022-06-26 f276fccb7 Review 4.11.0 changelog notes (#10356) (Guy Sartorelli)
    • 2022-06-26 b7d0e9dc2 Update github label definitions (Steve Boyd)
    • 2022-06-23 6a8915b31 Encourage filtering sensitive arguments from logged backtraces. (Guy Sartorelli)
    • 2022-06-15 139fa07bc Remove backticks from gatsby metadata in docs. (#10357) (Guy Sartorelli)
    • 2022-06-08 22d992a22 Update documentation for GraphQL v4 (#10325) (Maxime Rainville)
    • 2022-06-07 2c30438b0 Add missing colon to CORS docs example (Jonathan Copson)
    • 2022-06-01 0bd3fae7e Update server requirements to account for public/_graphql/ (Guy Sartorelli)
    • 2022-05-30 112284975 Add 4.11.0-rc1 changelog (Steve Boyd)
    • 2022-05-30 413897503 Correct references to graphql v4 schema build dir (Guy Sartorelli)
    • 2022-05-20 ba660cc84 Add title to 4.11.0 changelog (Guy Sartorelli)
    • 2022-05-17 8039cebe5 Update PHP version and note about file permissions. (Guy Sartorelli)
    • 2022-05-05 033aa4f15 Fix changlog heading (Steve Boyd)
    • 2022-05-05 84aa36854 Use backticks in 4.11.0-beta1 changelog (Steve Boyd)
    • 2022-05-05 3e233cdb1 Add 4.11.0-beta1 changelog (Steve Boyd)
  • silverstripe/graphql (4.0.0 -> 4.1.0-rc1)

    • 2022-06-28 2aa13a5 Update README in for stable release. (#474) (Guy Sartorelli)
  • silverstripe/documentconverter (2.3.0 -> 2.4.0-rc1)

    • 2022-08-20 4632ddc Correct title for userhelp (Maxime Rainville)
  • silverstripe/tagfield (2.9.0 -> 2.10.1)

    • 2022-07-28 3f1d65e docs: Update readme with an example for has_one relations. (Roman Schmid)
  • silverstripe/blog (3.10.0 -> 3.11.0-rc1)

    • 2022-09-06 3f7e83b Very minor doc tweak to test netlify hook (Maxime Rainville)
    • 2022-08-20 b1f5a9d Restore page title (Maxime Rainville)
  • silverstripe/contentreview (4.5.0 -> 4.6.0-rc1)

    • 2022-08-20 566a9e7 Correct title for userhelp (Maxime Rainville)
  • silverstripe/sharedraftcontent (2.7.0 -> 2.8.0-rc1)

    • 2022-08-20 11c2166 Correct title for userhelp (Maxime Rainville)
  • symbiote/silverstripe-advancedworkflow (5.7.0 -> 5.8.0-rc1)

    • 2022-08-20 3aaf10a Correct title for userhelp (Maxime Rainville)
  • silverstripe/userforms (5.13.0 -> 5.14.0-rc1)

    • 2022-08-20 0a53cef Correct title for userhelp (Maxime Rainville)
  • dnadesign/silverstripe-elemental (4.9.0 -> 4.10.0-rc1)

    • 2022-08-22 a990293 Minor change to userhelp docs for clarity (Guy Sartorelli)
    • 2022-08-20 3724db4 Correct title for userhelp (Maxime Rainville)
  • silverstripe/environmentcheck (2.5.0 -> 2.6.0-rc1)

    • 2022-10-06 0e4867f add note about FileAccessibilityAndValidationCheck (Will Rossiter)
  • silverstripe/developer-docs (4.11.0 -> 4.12.0-rc1)

    • 2022-11-21 7839c470 Prepare 4.11.1 changelog (Steve Boyd)
    • 2022-11-15 784126e5 Make 4.12 changelog more explicit (Guy Sartorelli)
    • 2022-11-03 6dfd2bba Newly supported and deprecated assets API (#107) (Maxime Rainville)
    • 2022-11-01 1a5361de Document jQuery changes (#108) (Guy Sartorelli)
    • 2022-10-19 40b0911d Document Deprecation class change (Steve Boyd)
    • 2022-09-30 cee7cc8e Document new CMSEditLinkExtension (#85) (Guy Sartorelli)
    • 2022-09-20 4f1d1919 Document making ModelAdmin easier to work with (#83) (Guy Sartorelli)
    • 2022-09-05 02075f32 Warn about possible XSS in custom shortcodes (Guy Sartorelli)
    • 2022-08-23 fc93197c New section in Changelog 4.12.0 (Sabina Talipova)
    • 2022-08-22 9094e796 Get the releases timeline to show (Maxime Rainville)
    • 2022-08-22 a174a1ac Add new major release policy to doc (#54) (Maxime Rainville)
    • 2022-08-15 38c9c309 Fix preview docs to not redirect to 404 unnecessarily (#65) (Guy Sartorelli)
    • 2022-08-15 dc3f17c4 Update relative doc links in preview docs (#64) (Guy Sartorelli)
    • 2022-08-09 727b7112 update for silverstripe-framework#10134 (#8) (Sergey Shevchenko)
    • 2022-08-01 1df209e4 Document GridFieldFilterHeader general field customisation (#6) (Guy Sartorelli)
    • 2022-08-01 048cc414 Document searching across fields by default (#5) (Guy Sartorelli)
    • 2022-07-18 b1569052 Fix typo (Steve Boyd)
    • 2022-07-14 98fe74d0 Add docs for seting many_many_extraFields data (Guy Sartorelli)
    • 2022-07-12 3d3c9165 Better document how to handle security issue (Maxime Rainville)
    • 2022-07-12 bd28ed62 Update references for how to update documentation (4 branch) (#3) (Guy Sartorelli)
    • 2022-06-30 630f09fa Update docs for searchable and summary fields. (Guy Sartorelli)
    • 2022-06-28 275c0120 Remove pre-release warnings from GraphQL docs. (silverstripe/silverstripe-framework#10354) (Guy Sartorelli)
    • 2022-06-26 90d37631 Review 4.11.0 changelog notes (silverstripe/silverstripe-framework#10356) (Guy Sartorelli)
    • 2022-06-26 90771ab5 Update github label definitions (Steve Boyd)
    • 2022-06-23 441cfdee Encourage filtering sensitive arguments from logged backtraces. (Guy Sartorelli)
    • 2022-06-15 233f6034 Remove backticks from gatsby metadata in docs. (silverstripe/silverstripe-framework#10357) (Guy Sartorelli)
    • 2022-06-08 5cbeb356 Update documentation for GraphQL v4 (silverstripe/silverstripe-framework#10325) (Maxime Rainville)
    • 2022-06-07 ec092cf5 Add missing colon to CORS docs example (Jonathan Copson)
    • 2022-06-01 43ec02f3 Update server requirements to account for public/_graphql/ (Guy Sartorelli)
  • silverstripe/mfa (4.6.1 -> 4.7.0-rc1)

    • 2022-08-20 2022015 Correct title for userhelp (Maxime Rainville)
  • silverstripe/ckan-registry (1.5.0 -> 1.6.0-rc1)

    • 2022-08-20 1de7942 Fix title for userhelp doc (Maxime Rainville)
  • silverstripe/subsites (2.6.0 -> 2.7.0-rc1)

    • 2022-08-20 945e2bc Correct title for userhelp (Maxime Rainville)

Other changes

  • silverstripe/assets (1.11.0 -> 1.12.0-rc1)

    • 2022-05-24 9c1427c fallback to default on post filter empty basename (Paweł Suwiński)
  • silverstripe/framework (4.11.0 -> 4.12.0-rc1)

    • 2022-11-24 31d5aef52 Bugfix: SSViewer check object exists before calling prop or method (Chris Penny)
    • 2022-11-10 f8befa3dc Update translations (Guy Sartorelli)
    • 2022-11-09 78b661dcf Prevent infinite loop when getting table name for ComponentID (Lee Bradley)
    • 2022-11-02 7f8f5afc9 Ensure forms/fields overridden by onBeforeRender() can override templates (Loz Calver)
    • 2022-10-14 c4b3d5304 Update tinymce links in comments (Phillip King)
    • 2022-10-07 9fac6fec0 Update README.md (Joe)
    • 2022-09-28 54892fa26 request may not have a session (Thomas Portelange)
    • 2022-09-26 f78c3ee5b Member updateName extension hook (Bram de Leeuw)
    • 2022-08-05 499484472 refactor: variable naming in Requirements_Backend::resolveCSSReferences() (Sergey Shevchenko)
    • 2022-08-05 697581551 config: add symfony/filesystem to base dependencies (Sergey Shevchenko)
    • 2022-06-09 f670eb498 Correct declaration of variadic $args to mixed (Fred Condo)
    • 2022-06-05 ab3375ce2 Updated 2_configuring_your_schema.md (Antony Thorpe)
    • 2022-06-04 1c88e989e Updated 07_nested_definitions.md (Antony Thorpe)
    • 2022-05-19 a9a6b0f11 PR fixes. (Mojmir Fendek)
    • 2022-05-13 b864c11b1 PR fixes. (Mojmir Fendek)
    • 2022-04-05 13b81c5e3 Check for component before saving, fallback to full form field name (Tyler)
    • 2022-03-20 be65db720 removed impossible method name contraint (Tobias Bossert)
    • 2021-11-09 9854e48cf Update Requirements_Backend.php (Sergey Shevchenko)
  • silverstripe/admin (1.11.0 -> 1.12.0-rc1)

    • 2022-11-10 a285236f Update translations (Guy Sartorelli)
    • 2022-09-25 1d7b82ef Chore: Correct very minor typo (Liam Kearney)
    • 2022-07-07 2217643f Built css and javascript bundles (Benjamin)
    • 2022-07-07 fe6c3659 LeftAndMain - Removed changes to BatchActionsForm (Benjamin Blake)
    • 2022-07-07 725d94cd styles - Replaced ID selector + Changed nesting (Benjamin Blake)
    • 2022-07-07 68abd1a0 Javascript - Reset fields before displaying them (Benjamin Blake)
    • 2022-07-07 e7ac90af Javascript - Code quality changes (Benjamin Blake)
    • 2022-07-06 380fd4e1 JS - Fixed variable naming issues and rebuilt (devserver)
    • 2022-07-06 174abc7b LeftAndMain - Added missing use statement (devserver)
    • 2022-07-05 69e830e5 Built css and javascript bundles (server)
    • 2022-07-05 331c73d0 LeftAndMain - Extended batch actions form (Benjamin Blake)
    • 2022-06-21 a925625f move lazyLoadGridFields (Thomas)
    • 2022-06-21 3ffdb059 Update client/src/legacy/TabSet.js (Thomas Portelange)
    • 2022-05-31 a90544fe simplify PR (Thomas Portelange)
    • 2022-05-31 d2e728c8 Update client/src/legacy/TabSet.js (Thomas Portelange)
    • 2022-05-30 57e1d2d4 missing , (Thomas Portelange)
    • 2022-05-30 48466aea Run yarn build (Guy Sartorelli)
    • 2022-05-24 be3d151d better var name (Thomas Portelange)
    • 2022-05-24 e1c2f284 consistent quotes (Thomas Portelange)
    • 2022-05-24 155bf1b9 refactor tabset (Thomas Portelange)
    • 2022-05-23 8bc3a001 Update client/src/legacy/GridField.js (Thomas Portelange)
    • 2022-05-23 3f283e2e update doc (Thomas Portelange)
    • 2022-05-23 bc151b22 extend lazy-loadable behavior (Thomas Portelange)
  • silverstripe/asset-admin (1.11.0 -> 1.12.0-rc1)

    • 2022-11-10 12484492 Update translations (Guy Sartorelli)
  • silverstripe/campaign-admin (1.11.0 -> 1.12.0-rc1)

    • 2022-11-10 f5ed182 Update translations (Guy Sartorelli)
    • 2022-05-12 a8c2aff Added cascade_add_to_campaign property (Tyler)
  • silverstripe/versioned-admin (1.11.0 -> 1.12.0-rc1)

    • 2022-11-10 43a637a Update translations (Guy Sartorelli)
  • silverstripe/cms (4.11.0 -> 4.12.0-rc1)

    • 2022-11-10 5cc41057 Update translations (Guy Sartorelli)
    • 2022-09-30 9ca4895f Reset ExtraClass on ViewModeSelector include (Bram de Leeuw)
    • 2022-07-07 aca0defe BatchActionsExtension - Added blank end line (Benjamin)
    • 2022-07-07 fa1c6ae3 Created a batch action extension for LeftAndMain (Benjamin Blake)
    • 2022-07-07 35d12228 CMSMain - Added HTML class attribute for styling (Benjamin Blake)
    • 2022-07-06 654fa5a6 CMSMain - Linting changes + Added Docblock (Benjamin Blake)
    • 2022-07-05 81593057 CMSMain - Fixed and enhanced BatchActionParameters (Benjamin Blake)
  • silverstripe/errorpage (1.11.0 -> 1.12.0-rc1)

    • 2022-11-10 bba6574 Update translations (Guy Sartorelli)
  • silverstripe/reports (4.11.0 -> 4.12.0-rc1)

    • 2019-03-22 01f26631 Use Injector to instantiate new base report instances (Robbie Averill)
  • silverstripe/siteconfig (4.11.0 -> 4.12.0-rc1)

    • 2022-11-10 772b1804 Update translations (Guy Sartorelli)
    • 2022-10-25 c069a8a2 Create FormFields by Injectable format (Dylan Wagstaff)
  • silverstripe/versioned (1.11.0 -> 1.12.0-rc1)

    • 2022-11-10 565af2c Update translations (Guy Sartorelli)
    • 2022-05-13 cd655aa Make ReadVersions injectable (Elliot Sawyer)
  • silverstripe/login-forms (4.7.0 -> 4.8.0-rc1)

    • 2022-11-10 e3f08a1 Update translations (Guy Sartorelli)
  • silverstripe/blog (3.10.0 -> 3.11.0-rc1)

    • 2022-11-10 1e647a3 Update translations (Guy Sartorelli)
  • silverstripe/akismet (4.3.0 -> 4.4.0-rc1)

    • 2022-11-10 2c31661 Update translations (Guy Sartorelli)
  • silverstripe/sharedraftcontent (2.7.0 -> 2.8.0-rc1)

    • 2022-08-07 07487f8 Update src/Extensions/ShareDraftContentFileShortcodeProviderExtension.php (Chris Penny)
    • 2022-08-03 f58af10 Bugfix: Check for active controller before access getRequest() (Chris Penny)
  • symbiote/silverstripe-advancedworkflow (5.7.0 -> 5.8.0-rc1)

    • 2022-11-10 78b7b8a Update translations (Guy Sartorelli)
    • 2022-07-29 68eef95 Update .github/workflows/update-js.yml (Steve Boyd)
  • silverstripe/userforms (5.13.0 -> 5.14.0-rc1)

    • 2022-11-10 923d170 Update translations (Guy Sartorelli)
    • 2022-05-13 92aded3 Protect uploads if folder for EditableFileField was removed (Sabina Talipova)
  • dnadesign/silverstripe-elemental (4.9.0 -> 4.10.0-rc1)

    • 2022-11-10 6d9da8e Update translations (Guy Sartorelli)
    • 2022-04-21 d117559 CMSEditLink method modified to support DataObject links and Example of using ElemenatalArea with DataObject (Sabina Talipova)
  • silverstripe/elemental-bannerblock (2.5.0 -> 2.6.0-rc1)

    • 2022-11-10 f8f92e7 Update translations (Guy Sartorelli)
  • symbiote/silverstripe-queuedjobs (4.10.0 -> 4.11.0-rc1)

    • 2022-11-10 9d53759 Update translations (Guy Sartorelli)
    • 2022-08-19 47b4ff9 feat: Allow ProcessManager PHP binary to be configurable via environment variable using Doorman. (Levi Wilson-Brown)
    • 2022-06-14 63681ee PR fixes. (Mojmir Fendek)
    • 2022-05-19 6d333d1 PR fixes. (Mojmir Fendek)
  • silverstripe/developer-docs (4.11.0 -> 4.12.0-rc1)

    • 2022-10-05 25fe53e1 Remove duplicate docs around PHPUnit upgrade (Scott Hutchinson)
    • 2022-10-03 901b902b Update 04_Data_Types_and_Casting.md (arustguy)
    • 2022-07-29 87376190 Update adding_middleware.md (Antony Thorpe)
    • 2022-07-26 a1fa5e22 Update adding_middleware.md (Antony Thorpe)
    • 2022-07-15 9088fa0f Update 02_configuring_your_schema.md (Antony Thorpe)
    • 2022-06-05 c3fff4e4 Updated 2_configuring_your_schema.md (Antony Thorpe)
    • 2022-06-04 7df6c16b Updated 07_nested_definitions.md (Antony Thorpe)
  • silverstripe/mfa (4.6.1 -> 4.7.0-rc1)

    • 2022-11-10 45d4a12 Update translations (Guy Sartorelli)
  • silverstripe/subsites (2.6.0 -> 2.7.0-rc1)

    • 2022-11-10 a1ee94c Update translations (Guy Sartorelli)
  • cwp/starter-theme (3.2.0 -> 3.2.1)

    • 2022-11-15 74bb7e8 Update templates/SilverStripe/UserForms/Model/EditableFormField/EditableMultipleOptionField_holder.ss (Mark Anthony Adriano)
    • 2020-09-22 b5d4f70 Fixing the missing Filter to show Span only when field is required (Mark Anthony Adriano)